2012-02-09 2 views
0

우리는 램에서 16MB의 룩업 테이블을 만드는 것으로 시작하는 이미지 처리 프로그램을 C++로 작성하고, 우리 프로그램이 실행되는 한 그것이 램에 있어야한다! 우리가 Windows 7에서 테스트 할 때 : LUT를 만드는 데 약 4 초가 걸리고 LUT에서 읽고 행렬에 채우기를 수행하면 7 마이크로 초이됩니다.리눅스 + 스왑에서 테이블을 찾는다

하지만 우리는 리눅스에서 소프트웨어를 실행해야합니다, 결과가 혼동 는 LUT가 약 3 초 정도 소요하고 있지만, LUT에서 읽고 행렬에 충전이 30 밀리 초됩니다!

우리는 LUT가 스왑으로 이동했기 때문이라고 생각합니다!

혹시라도 추측이 사실이라면 Linux에서 LUT를 유지하는 방법이 있습니까?

답변

0

mlock(2)은 RAM에 프로세스 공간 세그먼트를 잠급니다.

+0

네가 root를 제외하고는 16MB가 아님. –

+0

당신이 제안한 것을 시도해보십시오. 그러나 nothings가 변경되었습니다. (아마 그것은 스왑 때문이 아닙니다! – Amir

관련 문제