So I've built OpenCV 3.4.1 in Release mode with default flags. Does this make the build any different than if I built in Debug mode? I have a large codebase that utilizes OpenCV core libraries, and changing the build to release mode has not made much difference. I'm wondering If I've done something wrong or forgotten something during my build - perhaps some flag that should be set for enhanced performance.
Here is a log of my Release build config.
General configuration for OpenCV 3.4.1 ===================================== Version control: unknown
Platform: Timestamp: 2018-04-23T11:58:47Z Host: Linux 4.4.0-87-generic x86_64 CMake: 3.11.1 CMake generator: Unix Makefiles CMake build tool: /usr/bin/make Configuration: Release
CPU/HW features: Baseline: SSE SSE2 SSE3 requested: SSE3 Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX SSE4_1 (3 files): + SSSE3 SSE4_1 SSE4_2 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX AVX (5 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX AVX2 (9 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
C/C++:
Built as dynamic libs?: YES
C++ Compiler: /usr/bin/c++ (ver 4.8.4)
C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
C Compiler: /usr/bin/cc
C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
Linker flags (Release):
Linker flags (Debug):
ccache: NO
Precompiled headers: YES
Extra dependencies: dl m pthread rt
3rdparty dependencies:
OpenCV modules: To be built: calib3d core dnn features2d flann highgui imgcodecs imgproc java_bindings_generator ml objdetect photo python2 python3 python_bindings_generator shape stitching superres ts video videoio videostab viz Disabled: js world Disabled by dependency: - Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java Applications: tests perf_tests apps Documentation: NO Non-free algorithms: NO
GUI: GTK+: YES (ver 2.24.23) GThread : YES (ver 2.40.2) GtkGlExt: NO VTK support: YES (ver 5.8.0)
Media I/O: ZLib: /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8) JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (ver ) WEBP: build (ver encoder: 0x020e) PNG: /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.50) TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 / 4.0.3) JPEG 2000: /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1) OpenEXR: build (ver 1.7.1)
Video I/O: DC1394: YES (ver 2.2.1) FFMPEG: YES avcodec: YES (ver 54.35.1) avformat: YES (ver 54.20.4) avutil: YES (ver 52.3.0) swscale: YES (ver 2.1.1) avresample: NO GStreamer: NO libv4l/libv4l2: NO v4l/v4l2: linux/videodev2.h gPhoto2: NO
Parallel framework: pthreads
Trace: YES (with Intel ITT)
Other third-party libraries: Intel IPP: 2017.0.3 [2017.0.3] at: /home/agniv/Desktop/ChetanStuff/Libraries/opencv-3.4.1/build/release/3rdparty/ippicv/ippicv_lnx Intel IPP IW: sources (2017.0.3) at: /home/agniv/Desktop/ChetanStuff/Libraries/opencv-3.4.1/build/release/3rdparty/ippicv/ippiw_lnx Lapack: YES (/usr/lib/liblapack.so /usr/lib/libcblas.so /usr/lib/libatlas.so) Eigen: YES (ver 3.2.8) Custom HAL: NO Protobuf: build (3.5.1)
NVIDIA CUDA: NO
OpenCL: YES (no extra features) Include path: /home/agniv/Desktop/ChetanStuff/Libraries/opencv-3.4.1/3rdparty/include/opencl/1.2 Link libraries: Dynamic load
Python 2: Interpreter: /usr/bin/python2.7 (ver 2.7.6) Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6) numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2) packages path: lib/python2.7/dist-packages
Python 3: Interpreter: /usr/bin/python3.4 (ver 3.4.3) Libraries: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3) numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2) packages path: lib/python3.4/dist-packages
Python (for build): /usr/bin/python2.7
Java:
ant: NO
JNI: /usr/lib/jvm/java-8-oracle/include /usr/lib/jvm/java-8-oracle/include/linux /usr/lib/jvm/java-8-oracle/include
Java wrappers: NO
Java tests: NO
Matlab: NO