많은 테이블을 생성할 때 메모리 사용량많은 테이블을 생성한 후 닫을 때 JMP는 테이블이나 일부 잔여물을 메모리에 유지하는 것 같습니다. 잠시 후 메모리가 해제되는 경우도 있습니다. 소음원이 있는 측정 상황을 시뮬레이션할 때 이런 문제가 발생했습니다. JMP는 충돌하지 않지만 RAM이 부족해진 후 Windows가 HDD로 교체되기 시작했습니다.
다음은 문제를 반복할 수 있었던 가장 간단한 예입니다.
질문: 이것이 예상되는 동작인가요? 그리고/또는 제가 뭔가 이상한 짓을 했나요?
같은 현상이 발생하는 경우 참고하세요. Wait(0)의 주석 처리를 해제하세요. 문제를 제거하지만 적어도 이것이 문제가 되는 경우에는 작은(~10%) 성능 저하가 있는 것으로 보입니다.
For (i = 1, i <= 100000, i++,
dt = New Table("Name of the table",
New Column("Name of the column", Set Values(1::20000)),
);
// Do stuff
Close(dt, "No Save");
//Wait(0);
);JMP 14.0.0 64비트, Win 10
품질 및 프로세스 엔지니어링Re: 많은 테이블을 생성할 때 메모리 사용량마지막 질문과 관련하여 데이터 테이블 첨자를 사용할 수 있습니다.
NamesDefaultToHere(1);
// Make a starting table to update later
mat = J(10, 5, RandomNormal());
dt = AsTable(mat);
dt << setName("My Table");
// Update the last four columns of dt (using data table subscripting) with new values
Wait(3);
mat = J(10, 4, RandomNormal());
dt[1::10, 2::5] = mat;Re: 많은 테이블을 생성할 때 메모리 사용량대부분 이전에 이미 작성한 스크립트의 일부를 사용했고 변경하고 싶지 않았기 때문입니다. 많은 경우에 나는 스크립트 작업보다 느린 스크립트를 더 빠르게 만드는 것을 선호합니다.
경우에 따라 데이터 테이블은 행렬에서 데이터를 가져옵니다.
dt = As Table(matrixWithData, private);
기존 데이터 테이블에 데이터를 쉽게 넣을 수 있는 방법이 있습니까? 그러면 변경 사항이 비교적 간단해집니다.
Re: 많은 테이블을 생성할 때 메모리 사용량각 반복에서 새 테이블을 만드는 이유는 무엇입니까? 반복하기 전에 데이터 테이블을 만들고 각 반복에서 내용을 업데이트할 수 있습니다.
Re: 많은 테이블을 생성할 때 메모리 사용량@Niko_Porjo ,
너무 많은 데이터 테이블을 열 때 "invisible" 또는 "private" 플래그를 포함시키십시오. 데이터 테이블을 "보이지 않게" 설정하면 개선 사항을 확인하는 데 도움이 되고 "비공개"로 설정하면 상당한 개선 사항을 확인하는 데 도움이 됩니다.