HiPE to be removed in OTP 24?

Tristan Sloughter t@REDACTED
Sat Jun 20 15:47:06 CEST 2020

No, tracing is not just part of dbg. Tracing is part of the `erlang` module and there is now `erl_tracer`.

It is common to trace (not using dbg) in production, it is one of the great benefits of Erlang.

I always include Fred's recon library in my releases so I can easily and safely trace in production http://ferd.github.io/recon/recon_trace.html 


On Sat, Jun 20, 2020, at 02:41, Grzegorz Junka wrote:
> Thanks Tristan. By tracing do you mean dbg? Isn't tracking also a niche use anyway?

> I guess if someone needs tracing for profiling or bug fixing they still can do that before compiling to HiPE?

> Grzegorz


> On 19/06/2020 22:41, Tristan Sloughter wrote:
>> The JIT will support tracing like normal. So even if it was on-par or even a little slower than HiPE I think that is reason enough alone to switch -- and reason enough to have been attempting at alternatives all these years.
>> JIT could be a solution that makes sense in general usage while HIPE because of its limitations (even before recent OTP changes that diverged from HIPE even more so) meant it was a niche tool. Very useful to those problems it fit, but still niche.
>> Tristan
>> On Fri, Jun 19, 2020, at 10:45, Grzegorz Junka wrote:
>>> Hi Kenneth,

>>> Thanks to Richard's link I was able to see the presentation about JIT and it looks like the team was putting a lot of effort since as early as 2012 into JIT. But on none of the benchmarks JIT was actually better than HiPE.

>>> I am interested, in what way JIT is better than HiPE that it's worth putting the effort into developing something new instead of fixing HiPE?

>>> Regards

>>> Grzegorz


>>> On 18/06/2020 08:35, Kenneth Lundin wrote:

>>>> 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.

>>>> /Kenneth Erlang/OTP, Ericsson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200620/54a8651d/attachment.htm>

More information about the erlang-questions mailing list