[erlang-questions 48] Re: HiPE or native....good results, but confused...
Thomas Lindgren
thomasl_erlang@REDACTED
Sun Mar 27 14:46:05 CEST 2011
----- Original Message ----
> From: "Evans, Matthew" <mevans@REDACTED>
> To: "erlang-questions@REDACTED" <erlang-questions@REDACTED>
> 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,
Thomas
More information about the erlang-questions
mailing list