[erlang-questions 48] Re: HiPE or native....good results, but confused...

Thomas Lindgren <>
Sun Mar 27 14:46:05 CEST 2011

----- Original Message ----
> From: "Evans, Matthew" <>
> To: "" <>
> Sent: Sat, March 26, 2011 8:56:12 PM
> Subject: [erlang-questions 33] HiPE or native....good results, but confused...
> Hi,
> If anyone has been following the Sudoku email thread started by  Andreas, I 
>suggested he looked at compiling his code with the "native" flag set.  With his 
>app, and some common Erlang modules compiled to be native (espc. lists,  sets 
>and dict) I got a 2x performance improvement (see below).
> I hadn't  really played with HiPE (native) much, as I was always under the 
>impression that  performance gains were negligible. Clearly, for this use case, 
>the gains are far  from negligible - a 2x boost is not something to ignore.

Actually, applications where you're _not_ spending serious time in BIFs, NIFs, 
drivers, scheduling, message passing etc, is one of the good cases for Hipe. 
Basically, the compiler can only optimize what it can "see", and there is 
usually not much to be done with C calls into the runtime system.

But that doesn't mean all is lost. From what we heard on this list a couple of 
weeks ago, dialyzer seems to get good speedup from native compilation, for 
instance. Similar programs (e.g., symbolic processing, compilers, ...) would 
also be interesting candidates for Hipe.

Best regards,


More information about the erlang-questions mailing list