Browse thread
Comparison of OCaml and MLton for numerics
- Yuanchen Zhu
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Alain Frisch <Alain.Frisch@i...> |
| Subject: | Re: [Caml-list] Comparison of OCaml and MLton for numerics |
Brian Hurt wrote: > where the function is only called from one place, or 3) where inlining > opened up signifigant other optimization opportunities. The classic > example for Ocaml here is replacing a call to Pervasives.compare with an > integer compare. Most of the rest of the time, inlining is either a > break even proposition, or often a loss. Another good situation is when inlining allows the compiler to turn a function call to an unknown location into a direct function call (or no function call at all). This happens as soon as you write "List.map (fun x -> ...)". Inlining List.map would avoid the allocation of the closure and a computed call (and then the local abstraction will also be inlined in the body of the inlined List.map because it is used only once). Currently, OCaml never inlines recursive functions. -- Alain