> This is not what I see: > Multiplying 1000 times two 50x50 matrices on a Pentium M 1.8G, using > your code. Thanks. Curious. In my cat "/proc/cpuinfo" (using Ubuntu 6.06) processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Pentium(R) M processor 1.60GHz stepping : 6 cpu MHz : 598.127 cache size : 2048 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2 bogomips : 1197.16 when I multiply two 400x400 matrices, I observe that C is faster than OCaml (2 seconds for C code and 16 seconds for OCaml one). It is perhaps because I use MPI. Do you used -O2 ? > gcc -O3 monomorphic: 4.7s > Now, I also found a strange result: > gcc -O3 monomorphic: 1.4s Why two different times for the same program ? What is monomorphic ? Regards, Frédéric Gava ps: I attach the C code and the OCaml one which used some specific functions of our parallel version of OCaml (here implemented using MPI). I will send the .exe file to Jacques.