let my_func arg1 arg2 arg3 = let res = arg1 + arg2 + arg3 in res let my_func_wrapper arg1 arg2 arg3 = my_func arg1 arg2 arg3 let my_func_part = my_func 5 let _ = let t0 = Unix.gettimeofday () in let five = 5 in let r = ref 0 in for i = 0 to 10000 do for j = 0 to 10000 do r := !r + my_func five i j done done; Printf.printf "my_func: %.1f sec\n" (Unix.gettimeofday () -. t0); let t0 = Unix.gettimeofday () in let five = 5 in let r = ref 0 in for i = 0 to 10000 do for j = 0 to 10000 do r := !r + my_func_wrapper five i j done done; Printf.printf "my_func_wrapper: %.1f sec\n" (Unix.gettimeofday () -. t0); let t0 = Unix.gettimeofday () in let r = ref 0 in for i = 0 to 10000 do for j = 0 to 10000 do r := !r + my_func_part i j done done; Printf.printf "my_func_part: %.1f sec\n" (Unix.gettimeofday () -. t0)