Significant performance difference between OCaml and F#

Ah, so this is “just” a matter of rewriting the benchmark to use this library. Any takers?

(I thought that the Shootout website would not allow external libraries in benchmarks, but Zarith was allowed; I don’t know if a solution using mlgmpidl would be accepted; worth the try anyway!).

I never learned to use CamlIDL myself, but it does look quite convenient for this particular library (there is little code with not much boilerplate to describe a low-level binding). I guess nowadays people would recommend Ctypes instead, which is fine as well.

Edit: in fact there also is a Ctypes binding to the low-level Gmp functions (that exposes the imperative style); it is not gmp-ocaml that I linked to earlier, it is ocaml-gmp (see the Z_raw module in gmp.ml, unfortunately not currently exposed to the outside.)
It sounds like there are a bit too many gmp bindings out there…

2 Likes