On Sun, Mar 16, 2014 at 2:56 PM, ivan starkov <istarkov@xxxxxxxxx> wrote: > And add c++ compiler flags I think that compiling with defaults at -O2 is the best representation of performance for a naive microbenchmark like this. Otherwise you could get into an argument about why one language gets permission to do more fine-tuning than another, or how relevant such a benchmark is to real-world workloads, or whether or not you should tune the environment to be optimized for the specific input you're providing. Meanwhile, clang and gcc (more specifically, libc++ and libstdc++) could potentially provide noticeably different implementations of a hash table. (I don't know if they actually DO or not, I haven't looked.) The compilers could also choose different assembly-level techniques for translating the algorithm into machine code. That, I think, is a substantial enough potential difference for research. /s/ Adam