On Monday 14 July 2008 18:04:01 Mike Lin wrote: > Incidentally, it occurs to me that when one is optimizing the kind of tight > numerical loops that can really benefit from shared memory, the FIRST step, > before parallelizing, is to do away with any heap allocations in the loop. > The following is not a serious proposal, but just to kick the idea around - > what is the feasibility of removing the global interpreter lock for > segments of code which perform no heap allocations? i.e. what besides the > GC is stopping us?
I have had similar ideas but I think it would be much wiser to move away from OCaml and start afresh. You can easily write a compiler for a subset of OCaml suitable for high-performance numerics using LLVM. Users can easily develop their numerical code with OCaml and then quote it using camlp4 to have it compiled at run-time. However, this only works for a tiny DSL where no allocations are required (you can easily improve upon OCaml by not boxing floats and by using value types though). -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/products/?e _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs