Configure optimizations

Compiling source code may allow user to tune up performance of software.


OpenDJMix has been designed to let compiler to do best optimization.
Depending version of compiler, optimization is less or better good.
OpenDJMix has been initially designed with GCC 3.3 but now is fully tested with latest GCC version.


There is an option of configure that enable compiler optimization.setting up optimization (for people who know, it's -O2 gcc flag).
To use it, please call configure with --enable-optimise. For example:

$ ./configure --enable-optimise

Of course, this parameter can be added to others.


However, a great step can be done by setting CXXFLAGS environment variable before calling configure.
This step is optional. OpenDJMix will both work great with or without CXXFLAGS option ! The only advantage to use CXXFLAGS is to lower latency.

This is somewhat a magic step for people who don't know about processor and compiler but CXXFLAGS will tell to configure and compiler to enable some extended optimization flags.

  • For people who have an Intel Pentium4 [Solo/Dual/Quad] Core processor can setup:
    $ export CXXFLAGS="-march=nocona -msse -msse2 -msse3"
  • For people who have an Intel Atom processor can setup:
    $ export CXXFLAGS="-march=atom -msse -msse2 -msse3"
  • For people who have an AMD (mobile) Athlon 64/FX/Sempron:
    $ export CXXFLAGS="-march=k8-sse3 -msse -msse2 -msse3"
  • For other, don't bother if you don't setup CXXFLAGS. Software will also work. Experimented users can works with GCC X86 machine flag and tell me what thing works and what doesn't works.