2011/1/12 Achilleas Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>:
>
> Changed that to smth like: micros_total = micros_total + (double) micros;
> instead of the printf to beat any compiler optimization, and still linux runs at light speed:
> FBSD_TEST : user 0.089s, sys 1.4s
> FBSD_DEV : user 0.183s, sys 3.8s
> LINUX_PROD : user 0.168s, sys 0s
> (regarding that gettimeofday is a syscall in FreeBSD, and that sys time is 0 for linux, makes me think some optimization is being done)
At least on x86_64, linux will use a vsyscall (v for virtual) for
gettimeofday which does not actually need to enter/exit the kernel.
That probably explains a large part of the speed difference here.