garabage 수집되는 보이지 않는 테이블 문제<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />나는 실행을 가속화하기 위해 보이지 않는 테이블에 대한 계산을 실행하려고합니다.
그러나 유용한 모든 작업을 수행하기 전에 보이지 않는 테이블이 삭제됩니다. 로그 출력에서 다음과 같은 메시지가 나타납니다.
'보이지 않는 테이블'테이블은 변수 또는 창이 참조되지 않기 때문에 자동으로 닫혔습니다.
JMP Scripting Guide에 따르면, 보이지 않는 테이블이 Subset (invisible) 명령을 사용하여 생성 된 경우 예상되는 동작입니다. 하지만 나는 새로운 테이블을 만들고있다.
dt = newTable ( "보이지 않는 테이블", 보이지 않음);
JMP Scripting Guide는이 작업을 수행 할 때 테이블을 닫지 않으면 JMP를 종료 할 때까지 메모리에 남아있을 것이라고 강조합니다. 하지만 내 경우에는 테이블에 대한 참조를 지정하더라도 테이블에 대한 첫 번째 작업이 끝나면 자동으로 삭제됩니다. (보이지 않는 옵션없이 테이블을 만들면 모든 것이 제대로 작동합니다)
JMP 8 사용
garabage 수집되는 보이지 않는 테이블 문제좀 더 조사를했는데 보이지 않는 테이블에 연결된 하위 테이블을 닫을 때 문제가 발생하는 것 같습니다.
그래서 나는 이렇게하고있다.
dt = newTable ( "보이지 않는 테이블", 보이지 않음);
dt << 위치 선택 (/ * 일부 선택 기준 * /);
subdt = dt << 부분 집합 (출력 테이블 이름 ( "서브셋 테이블"), 링크 됨);
// subdt의 일부 연산
닫기 (subdt, nosave)
이 코드는 선택 명령에 대한 선택 기준을 변경하는 루프로 묶습니다.
문제는 close () 명령입니다. 하위 테이블을 닫지 않으면 보이지 않는 테이블에 대한 참조가 사라지지 않습니다. (또한, 서브 테이블을 Linked로 지정하지 않으면 잘 실행됩니다)
이것을 알면 내 문제를 해결할 다른 방법을 찾을 수 있지만이 행동에 대한 설명이 있으면 듣고 싶습니다.
문안 인사,
헬게
garabage 수집되는 보이지 않는 테이블 문제새 테이블 () 문에 대한 추가 컨텍스트를 제공 할 수 있습니까?
예를 들어, JSL 변수를 재사용하는 경우 dt 더 이상 보이지 않는 테이블에 대한 참조가없고 JMP가이를 닫을 것입니다.
dt = 새 테이블 ( "보이지 않는 테이블", 보이지 않음);
dt = .;
따라서 우리는 JSL에 대해 더 많은 것을 알아야합니다.
- 제프