On Sep 3, 2011, at 18:19 , Benedikt Meurer wrote:

> I'll push the i386 version once cleaned up and integrated with the approach 
> implemented for the amd64 version now.

The i386 version is also fully functional now, and our current prototype is 
available from the ocamlnat-jit branch from my "ocaml-experimental" repository 
at:

https://github.com/bmeurer/ocaml-experimental/tree/ocamlnat-jit

> It should be noted that there's still some room left for optimizations (i.e. 
> use short jumps whenever possible, etc.), but the results so far are already 
> quite promising: The new ocamlnat beats both the old ocamlnat as well as the 
> byte code toplevel in every benchmark I've tried. I'll prepare a detailed 
> comparison when time permits.


I did a preliminary comparison today, results are available at:

http://ps.informatik.uni-siegen.de/~meurer/tmp/ocamlnat-benchmark-20110914.pdf

The results are given as speedup compared to the OCaml 3.12.1 byte code 
toplevel. "OCamlNat/jit" is ours, "OCamlNat/ext" is the ocamlnat thing that 
silently ships with OCaml 3.12.1, and "OCamlJIT2" is my previous byte code 
JITter. Time was measured as combined user+system time for the toplevel process 
plus all child processes.

As you can see, we achieved speedups of up to 100 times faster than the byte 
code toplevel (which is in part related to the fact that llvm-gcc is the 
default compiler with OS X Lion, and thereby disables the register assignment 
optimizations for the byte code interpreter).

greets,
Benedikt

-- 
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to