Imatest IT 라이브러리에 전화할 때의 모범 사례

단일 스레드에서만 실행하세요.

MATLAB 런타임 라이브러리는 동일한 라이브러리를 사용하는 여러 스레드를 지원하지 않습니다.

고속 병렬 테스트를 위해 Imatest IT Parallel은 여러 프로세스를 사용하여 테스트 처리량을 최대 3배까지 높일 수 있습니다. 5.1 버전부터 ITP는 IT에 통합되었습니다.

 

여러 번 실행할 때 초기화는 한 번만 하면 됩니다.

라이브러리 초기화에는 상당한 계산 비용이 소요됩니다. 따라서 라이브러리에 대한 첫 번째 호출은 이후 실행보다 속도가 느립니다.

해당 라이브러리는 호출하는 프로그램의 전체 수명 주기 동안 초기화된 상태를 유지해야 하며, 호출하는 프로그램 자체도 적절한 수명을 가져야 합니다.

 

mclTerminateApplication() 또는 terminate() 함수는 프로세스당 한 번만 호출해야 합니다.

mclTerminateApplication(C/C++) 또는 terminate(Python)를 두 번 이상 호출하면 애플리케이션이 예측할 수 없거나 바람직하지 않은 동작을 보일 수 있습니다.

 

분석 실행 중에 비효율적인 대기 시간을 사용하지 마십시오.

별도의 테스터 프로그램을 호출하는 메인 테스터 프로그램은 분석이 완료될 때까지 기다리기 위해 비지 웨이팅(busy waiting)이나 스핀락(spinlock)을 사용해서는 안 됩니다.

 

이미지를 디스크에 쓰는 대신 직접 전달하세요.

이미지를 직접 전송하는 방식을 사용하면 파일을 디스크에 기록한 후 Imatest IT에서 즉시 읽어들이는 과정을 피할 수 있습니다.

고속 SSD 및 HDD 캐시의 사용은 디스크에 반복적으로 쓰고 읽는 데 드는 비용을 줄일 수 있지만, 다른 위험도 수반합니다.

 

테스트를 결합하는 분석 모듈을 사용하십시오.

SFRplus와 eSFR ISO는 단일 이미지에 대해 다양한 계산을 수행합니다. 따라서 이 모듈들이 항상 더 나은 성능을 보여줄 것입니다.

 

SFR 테스트의 경우, 단일 이미지에서 여러 영역을 사용하십시오.

다중 영역 선택 기능을 사용하면 단일 모듈로 이미지의 여러 지점을 테스트할 수 있습니다. 위에 언급된 결합 분석 모듈을 사용할 수 없고 선명도 테스트를 위해 SFR을 사용해야 하는 경우, 다중 영역 선택 기능을 반드시 사용하십시오.

MCR_CACHE_ROOT 및 MCR_CACHE_SIZE 환경 변수를 설정하십시오.

IT/DLL 및 IT/EXE 호출의 시작 시간을 대폭 줄이려면, 사용자가 읽기/쓰기 권한이 있는 폴더로 MCR_CACHE_ROOT 환경 변수를 설정하고, MCR_CACHE_SIZE 환경 변수를 900000000 이상의 값으로 설정하십시오. 이러한 환경 변수가 설정되면 IT 초기화 중에 발생하는 긴 압축 해제 단계에서 데이터가 IT 종료 후 삭제되는 임시 디렉터리 대신 MCR_CACHE_ROOT 폴더에 저장됩니다. 관련 압축 해제 데이터가 이미 MCR_CACHE_ROOT 에 있는 경우 압축 해제 단계가 건너뛰어져 상당한 시간(약 10초)을 절약할 수 있습니다.

예:

Windows Vista 이상 버전의 경우:

이 환경 변수를 영구적으로 설정하려면 setx 명령어를 사용할 수 있습니다. 명령 프롬프트 창을 열고 다음을 입력하십시오(폴더 경로는 원하는 경로로 바꾸십시오).

setx /m MCR_CACHE_ROOT "C:\Users\<this_user>\My Documents\MCR_Cache"
setx /m MCR_CACHE_SIZE "900000000"

참고로 '/m'은 해당 변수가 모든 사용자에 대해 정의되며, 새 환경 변수는 명령 창을 닫은 후에만 사용할 수 있음을 나타냅니다.

Windows XP의 경우, 환경 변수 설정에 대한 Microsoft의 지침을 따르십시오.

리눅스용:

MCR_CACHE_ROOT 및 MCR_CACHE_SIZE를 모든 사용자가 사용할 수 있도록 하려면 /etc/environment 또는 /etc/profile 에 해당 정의를 추가하십시오.

MCR_CACHE_ROOT="/home/<this_user>/Documents/MCR_Cache"
MCR_CACHE_SIZE=900000000

그렇지 않으면 ~/.profile 또는 ~/.bashrc 파일을 수정하여 정의를 추가하십시오.

 export MCR_CACHE_ROOT=/home/<this_user>/Documents/MCR_Cache
 export MCR_CACHE_SIZE=900000000

하드웨어를 문제 해결에 투입하라

소프트웨어 설정 변경으로 충분한 속도 향상을 얻을 수 없을 때, 더 빠른 클럭 속도와 더 많은 프로세서 코어를 갖춘 컴퓨팅 하드웨어를 활용하는 것이 성능을 높이는 가장 강력한 방법입니다.

참고 항목: