더 빠른 jpeg 라이브러리 jpeg-turbo 컴파일 삽질기

by BLUEnLIVE | 2010/06/21 07:49

Jpeg 파일을 프로그램에서 읽고 쓸 때 libjpeg 라이브러리를 많이 사용한다. 이 라이브러리는 안정적이고 널리 쓰이고 있지만, 속도가 다소...


VS 2008/2010에서 사용할 수 있는 빠른 jpeg 라이브러리를 찾다가 turbo-jpeg이란 라이브러리를 찾게 되었다.
x86 SIMD ext for IJG JPEG를 개선해서 만든 라이브러리답게, SIMD ext에 비해서 약간 빠르다.

ㅎㄷㄷ한 성능 향상. 아싸!


BUILDING.txt 파일에 컴파일하는 법이 나와있는데, 간략히 간추리면 이렇다.

1. GNU Make v3.7 이상 준비: MSYS나 Cygwin에 들어있음. (그렇다! nmake는 쓰지 않는다!)
2. Windows SDK for Windows Server 2008 and .NET Framework 3.5 준비
3. NASM v0.98 이상 준비: SIMD ext에서와 마찬가지로 어셈블러로 NASM을 사용.
4. make -f win/Makefile

VS 2008과 2010 모두에서 동일한 방법으로 컴파일 가능하며, 성능은 비슷하다.


덧1. 최근 몇 가지 이유로 컴파일러를 VC++ 6.0에서 VS 2008로 이전할 예정인데, 적절한 jpeg 라이브러리를 찾은 듯.
덧2. SIMD ext는 VC++ 6.0에서만 컴파일 가능하고, jpeg-turbo는 VC++ 2008 이상에서만 가능한 듯.
덧3. make는 GNU Make를 쓰지만, link는 VS 2008의 link를 써야 함. path에 지정했다 잠시 삽질 함.