GraphicsMagick OpenMP 性能比较(icc+iomp vs gcc+gomp)

GraphicsMagick(GM)是ImageMagick(IM)的可替代的图片处理 方案,但是, GraphicsMagick比ImageMagick具有性能高,稳定的优点. 而且, IM能实现的,GM都可以做到. IM的最大问题就是代码变动太大,不够稳定. GM相对而言要稳定对了, 此外体积也没有GM那么臃肿. Flickr 从2004年后就放弃了ImageMagick而使用GraphicsMagick, 可谓GM最佳的成功案例. GraphicsMagick性能提升的一个亮点就是支持OpenMP, 通过OpenMP的优化,性能提升数倍以上. 虽然IM也能够支持OpenMP,但即便如此, 也比GM要慢很多. ImageMagick也无法能够使用Icc进行支持OpenMP的编译, 而GraphicMP则可以. 为了了解OpenMP对性能有何影响,以及,icc 和 gcc相比,有多大的差异, 我做了以下简单的测试: 1. 测试环境 * CentOS 5.4 * GCC v4.1.2-46.el5_4.1 * PowerEdge R710(Intel(R) Xeon(TM) CPU 3.00GHz *2) 2. 编译脚本 build_icc() { OPENMP=’-openmp’ CC=’icc’ \ CXX=’icpc’ \ LD=’xild’ \ CFLAGS=”-std=gnu99 $OPENMP -O3 -ip -restrict -xSSE3 -axSSE3,SSSE3,SSE4.1,SSE4.2″ \ CXXFLAGS=” $OPENMP -O3 -ip -restrict -xSSE3 -axSSE3,SSSE3,SSE4.1,SSE4.2″ \ CPPFLAGS=’-I/opt/local/include’ \ LDFLAGS=’ -L/opt/local/lib -L/usr/lib64 ‘ \ LIBS=’-liomp5 -ltcmalloc_minimal [...]

你可能感兴趣的:(GraphicsMagick OpenMP 性能比较(icc+iomp vs gcc+gomp))