This work is meant to make a compromise between generated code quality
and compilation speed to have good performances in rapid
prototyping/development scenario.

Do you have more precise measurements on
- the relative costs of the successive transformations during native
compilation (including external linking etc.)? Which proportion of
time is currently used for register allocation?
- the performance cost of this new allocator in the generated code? I
suppose the results may vary between different architectures (eg. x86
is probably more sensitive to good allocation decisions than x86_64).

On Mon, Aug 1, 2011 at 4:53 PM, Benedikt Meurer
<[email protected]> wrote:
> Hello,
>
> As mentioned earlier we have a student working on an implementation of the 
> Linear Scan Register Allocator [1] for ocamlopt (and thereby ocamlnat). It 
> took some time, but now there's a first working patch which looks promising. 
> This work is done by Marcell Fischbach as part of his diploma thesis. The 
> idea is to use the linear scan algorithm to drive the register allocation in 
> the native top-level ocamlnat at some point, as suggested by Fabrice Le 
> Fessant [2].
>
> Marcell is now working to implement a proof-of-concept of an inline assembler 
> for ocamlnat on i386 based on code from Alain Frisch an Fabrice Le Fessant. 
> The result will also be contributed once ready, and will be used to 
> effectively compare ocamlnat and the byte-code ocaml top-level.
>
> The linear scan implementation reuses as much of the existing ocamlopt 
> functionality as possible, so additional maintenance overhead should be 
> manageable. Comments and suggestions are welcome of course. Please keep 
> Marcell CC'ed with any replies as he's not subscribed to the list.
>
> greets,
> Benedikt
>
>
> [1] http://portal.acm.org/citation.cfm?id=330250
> [2] 
> http://caml.inria.fr/pub/ml-archives/caml-list/2010/11/a1b0ed0934ff51df4ac07c5e9da6e9d6.en.html
>
>
> --
> 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
>
>


-- 
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