<div dir="auto"><div><div dir="auto">We are not a “primary customer” but HiPE is essential at Fermilab. We have an in-house, protocol code generator that aggressively builds binaries using bitstream comprehensions. We also adjusted our generator to follow hints given from +bin_opt_info. The last time we measured performance between byte-code and HiPE, we found the native code ran 100x faster making Erlang a viable option for our systems.</div><div dir="auto"><br></div><div dir="auto">We’re currently at OTP 21 and have no problem staying there until we feel the JIT performs similarly and supports ARM. I’m building OTP 23 without HiPE on a test system to see if the binary manipulation instructions improved enough that this isn’t an issue.</div><div dir="auto"><br></div><div dir="auto">Just thought I’d let you know that HiPE does have its users.</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 18, 2020, 3:35 AM Kenneth Lundin <<a href="mailto:kenneth@erlang.org">kenneth@erlang.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><h4 style="color:rgb(0,0,0);font-family:sans-serif;font-size:13px"><span></span></h4><p style="margin:1em 0px;color:rgb(0,0,0);font-family:sans-serif;font-size:13px">HiPE is the runtime and compiler support for native code generation of Erlang modules that some of you might have tried, it is part of the OTP repository today.</p><p style="margin:1em 0px;color:rgb(0,0,0);font-family:sans-serif;font-size:13px">The OTP team is planning to remove HiPE in the OTP 24 release for the following reasons:</p><ul style="line-height:1.5em;list-style-type:square;margin:0.3em 0px 0px 1.5em;padding:0px;color:rgb(0,0,0);font-family:sans-serif;font-size:13px"><li style="margin-bottom:0.1em">we plan to introduce a new way of executing Erlang, the "JIT" described by Lukas Larsson at Code Beam V</li><li style="margin-bottom:0.1em">since OTP 22, HiPE is not fully functional (does not handle all beam instructions and combinations)</li><li style="margin-bottom:0.1em">there is no use of HiPE among our primary customers. We actually don't know where HiPE is used except for speeding up Dialyzer which we have another solution for.</li><li style="margin-bottom:0.1em">The current support for HiPE in the code is a blocker or creates extra work in our new development.</li></ul><p style="margin:1em 0px;color:rgb(0,0,0);font-family:sans-serif;font-size:13px">In order to not remove HiPE in OTP 24, we really soon need maintainers committing (long term) to keep HiPE in shape and up to date with the rest of OTP.</p>/Kenneth Erlang/OTP, Ericsson</div>
</blockquote></div></div></div>