Raj Bandyopadhyay wrote:
Hi all

I am implementing a language by generating OCaml code for input source and using the OCaml native code compiler. However, I've run into a strange problem.


On using my code generator on a large program, I generate a file containing 
about 75K lines of OCaml.
The native code compiler takes more than 30 *minutes* to compile this file! The bytecode compiler takes about 5 secs.



It depends of your langage and of the code you are generating, but maybe Ocaml is not the right tool for that. Did you consider stuff like LLVM http://llvm.org/ or C-- http://cminusminus.org/ both designed to be languages to be generated by a program (not to be coded in by a human)?

It could also be that you are generating huge functions. Avoid generating huge functions (and you'll get the same kind of troubles if you generate huge C functions).

All the low level code generation issues and algorithms (e.g. instruction scheduling, register allocation) are violently non linear.

--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

_______________________________________________
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

Reply via email to