Enable hipe compiler

hello,
I’m newbie to Erlang.

Can I ask, how to enable hipe compiler, or is it automatically used when in release?

thanks

You need to use special compile flag :native.

1 Like

It’s not fully functional in:
https://www.erlang.org/news/132

They are working on supporting all the new features. The swedish university that was working on it has scaled back I believe at least for the llvm part.

The compiler team has been working on some really cool optimisations which is existing.

Plus an other thing I’ve been aware of for a long time without information is coming out, it’s probably not as optimises as we want to but might be a cool thing for the future:
https://www.researchgate.net/publication/266661009_BEAMJIT_a_just-in-time_compiling_runtime_for_Erlang

2 Likes

otp 23 has hipe working?

I think Erlang compiler team is to make the main compiler produce really fast code. I would do tests if you really need hipe to provide fast code. This is in the short term.

Medium term I believe hipe should work again, I’m not apart of any team so I don’t know this is just what I’ve read.

Long term I believe the focus is having Erlang fast without something like hipe. Hipe only sometimes provided better performance.

So test and see if you have any regressions. I’m sure you can probably open a ticket if you have a major speed problem since they would probably like to know what to optimise for.

There is also Erlang Solutions if you really need to know how to tweak the vm for your specific use case.

Sorry I didn’t answer you question directly. No I can’t find anything about OTP 23 fixing hipe. But if you are only compiling some code with hipe you could probably use it it’s just some new functionality that isn’t supported.