500K-21M 행이있는 테이블의 열 수식에서 사용하는 것처럼 빠르게 수행해야하는 함수가 있습니다.
최적화 속도를 시도하면서 벤치마킹을 해봤습니다. 나는 가능한 한 빨리 속력을 내었고, 여전히 느렸다.
내 함수는 조회 테이블로 일부 매트릭스를 사용했습니다. 이전 세션의 시작 스크립트에서 메모리에로드했습니다. 전역 네임 스페이스가 복잡해지지 않도록 네임 스페이스 정규화 된 변수에로드했습니다.
우박 - 메리 (Hail-Mary)로서, 대신 글로벌 (비 네임 스페이스 한정) 변수에로드하려고했습니다.
필자의 놀랍게도 함수의 본문은 네임 스페이스 한정 테이블이 아닌 정적 테이블을 보유하기 위해 전역 변수를 사용하여 1/10 미만으로 실행되었습니다. 강조하기 위해이 테이블은 함수가 호출되기 전에 이미 메모리에 상주합니다. 그것들을 채우는 것이 아니라, 그것들을 참조하는 것입니다.
다른 사람들이이 경험을 했습니까?
(비교 타이밍을 볼 수 있도록 디버그 화면의 스크린 샷을 첨부했습니다. 여기서는 함수의 본문을 비교 한 것이므로 함수 래퍼는 표시되지 않습니다.)

JMP 15 및 JMP 16에서 네임 스페이스 조회를 더 빠르게하기 위해 몇 가지 작업을 수행했으며 훨씬 더 빠르다는 것을 확인할 수 있습니다. 콜론 (:)의 양쪽에서 조회를해야하기 때문에 항상 전역 네임 스페이스를 사용하는 것보다 느리지 만 원래 게시물 이후 훨씬 개선되었습니다.