kennethL

kennethL

Erlang Core Team

HiPE to be removed in OTP 24?

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.

The OTP team is planning to remove HiPE in the OTP 24 release for the following reasons:

  • we plan to introduce a new way of executing Erlang, the “JIT” described by Lukas Larsson at Code Beam V
  • since OTP 22, HiPE is not fully functional (does not handle all beam instructions and combinations)
  • 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.
  • The current support for HiPE in the code is a blocker or creates extra work in our new development.

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.

Most Liked

StevenNunez

StevenNunez

hauleth

hauleth

I have posted it in the similar time as you as I wasn’t sure if you are there as well. I have removed my post.

Personally - as long as there will be alternative way to have more performance out of Erlang like JIT backed by for example LLVM (I haven’t seen @garazdawi presentation yet) - I am ok with that, and keeping such complex codebase is not worth keeping HiPE.

kennethL

kennethL

Erlang Core Team

The new way of executing Erlang presented by Lukas is not dependent on LLVM at all, which is very nice.

christhekeele

christhekeele

For those interested, I believe this is the video under discussion

Where Next?

Popular in Erlang News Top

Devtalk
A new Erlang news item has been posted! Link: Release OTP-22.3.4.12.1 · erlang/otp · GitHub Posted via Devtalk.
New
AstonJ
Erlang/OTP 20.1 is the first service release for the 20 major release. The service release contains mostly bug fixes and characteristics...
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.1.6 · erlang/otp · GitHub
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 22.3.4.20 · erlang/otp · GitHub Posted via Devtalk.
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
New
voltone
Erlang/OTP 23.2.2 is out, fixing a critical TLS certificate verification issue in 23.2 an 23.2.1 allowing MitM attacks and forged client ...
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.0.1 · erlang/otp · GitHub Posted via Devtalk.
New
OvermindDL1
http://www.erlang.org/news/125 A few good fixes and enhancements, SSL added more methods and is faster, socket polling is faster, howeve...
New

Other popular topics Top

Tee
can someone please explain to me how Enum.reduce works with maps
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement