안녕 !
나는 수백만과 같은 루프에서 많은 분석을 반복하고 있으며 그 결과를 저장해야 합니다. 이러한 결과는 텍스트 값과 숫자 값입니다. 지금까지는 데이터 테이블에 결과를 저장했지만 테이블의 크기가 커질수록 메모리도 커지고 분석 속도가 느려지는 경향이 있습니다.
시간과 메모리를 절약할 수 있는 방법을 찾고 있습니다.
테이블은 이미 비공개입니다(포럼의 다른 주제에서 제안된 대로). 그것은 그것을 더 좋게 만들지 만 충분하지 않습니다.
텍스트 변수를 목록에 저장하고 숫자 변수를 벡터에 저장하려고 했습니다(R의 경우 매우 효율적임). 내가 잘못했을 수도 있지만 루프 시간을 늘리기 위해 여기에있는 것 같습니다.
좋은 생각이 있는 사람이 있습니까?
Jmp 14를 사용하고 있지만 JMP 16에 액세스할 수 있습니다.
어떤 특정 플랫폼을 사용하고 있습니까? JMP 16 및 17은 많은 플랫폼의 속도를 개선했습니다.
또한 HP Time() 함수를 사용하여 반복을 테스트할 수 있습니다. 몇 가지 좋은 토론은 여기 그리고 여기 .
에 추가 @Jed_Campbell 의 답장을 보내면 JMP에서 프로파일링 기능을 사용할 수도 있습니다. 디버거 병목 현상이 있는 위치를 확인합니다.
메모리가 부족한 경우 닫는 것을 잊은 개인 데이터 테이블을 주의하십시오. (닫았는지 확인하기 위해 비공개가 아닌 보이지 않게 만드십시오. Invisible은 여전히 홈 창에 나타납니다.)
JMP가 점점 더 느리게 실행되는 경우
- 디스크 표시등이 있는 구식 데스크탑이 있는 경우 계속 켜져 있는지 확인하십시오. 정말 큰 행렬을 만들 수 있습니다. J(10000)은 2D(1D가 아님) 행렬을 만듭니다.
- 끝까지 연결하여 문자열이나 행렬을 만드는 경우 문자열이나 행렬이 커질수록 속도가 느려집니다. 행렬을 올바른 크기로 사전 할당하거나 완료되면 concatitems() 다음에 오는 문자열 부분 목록을 사용하십시오.
JSL 디버거의 프로파일러를 다음과 같이 사용하십시오. @Mark_Bailey 제안.
Wrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, GoWrench, Clock, Go렌치, 시계, 이동
운이 좋으면 위의 항목과 일치하는 명백한 핫스팟이 있을 것입니다.
저는 Kmean 플랫폼을 사용합니다(그리고 프로세스에 따라 보고서를 열고 닫습니다).
저는 tick second() 를 사용하는데 Hp time() 에 대해 몰랐습니다. 비슷한 것 같죠?
발견하신 토론에 대해 확인하겠습니다. 감사합니다.
정말 좋은 조언인 Craige에게 감사합니다. 크기를 미리 할당하는 것이 도움이 될 것이라는 단서가 없었습니다!
내 스크립트에서 내 테이블이 보이는 단계가 있었기 때문에 닫는 것을 잊은 테이블에 관한 것이 아니라고 확신합니다.