3 ms·
Nice optimizations, but note that it breaks HiPE.
by teilo 7y ago
Nice optimizations, but note that it breaks HiPE.
- klibertp 7y agoOnly if you use new BEAM features [EDIT: or new compiler optimizations... this could be hard to avoid, so using HiPE may indeed become hard/impossible for awhile... :(] in the module you want to HiPE-compile: > In OTP 22, HiPE (the native code compiler) is not fully functional. The reasons for this are: > There are new BEAM instructions for binary matching that the HiPE native code compiler does not support. > The new optimizations in the Erlang compiler create new combination of instructions that HiPE currently does not handle correctly. > If erlc is invoked with the +native option, and if any of the new binary matching instructions are used, the compiler will issue a warning and produce a BEAM file without native code. Source: http://erlang.org/download/otp_src_22.0.readme http://erlang.org/download/otp_src_22.0.readme (search for OTP-15596)
- alberth 7y agoIs HiPE not apart of Erlang core? I’m confused why they would release features that knowingly break other parts of Erlang core (ie HiPE)
- troutwine 7y agoThe relationship with HiPE is weird. It's probably better to consider HiPE as an alternative VM to BEAM which used to be faster in some kinds of computations -- especially numerical -- but had trade-offs in terms of memory consumption and compatibility. Different shops approach HiPE uniquely, but it was not uncommon to see HiPE used for tooling -- dialyzer especially -- but not end up in production. The original developers of HiPE have now moved on entirely or are focused more on introducing JIT capability to BEAM. The BEAM team are not the maintainers of HiPE and don't have the expertise to update it, meanwhile HiPE does not have a full-time, dedicated team behind it. I won't be surprised if HiPE gets split out from the default install in a few years if HiPE keeps falling behind.
- teilo 7y agoYep. IMO, it really should never have been pulled into core in the first place, for exactly these reasons.
- dmix 7y agoOn the HiPE doc page it says: > HiPE and execution of HiPE compiled code only have limited support by the OTP team at Ericsson. The OTP team only does limited maintenance of HiPE and does not actively develop HiPE. HiPE is mainly supported by the HiPE team at Uppsala University. http://erlang.org/doc/man/HiPE_app.html http://erlang.org/doc/man/HiPE_app.html