uu.seUppsala University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
HiPErJiT: A Profile-Driven Just-in-Time Compiler for Erlang
Univ Penn, Philadelphia, PA 19104 USA.
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science.ORCID iD: 0000-0001-9657-0179
2018 (English)In: Proceedings of the 30th Symposium on Implementation and Application ff Functional Languages (IFL 2018) / [ed] Cimini, M, Association for Computing Machinery (ACM), 2018, p. 25-36Conference paper, Published paper (Refereed)
Abstract [en]

We introduce HiPErJiT, a profile-driven Just-in-Time compiler for the BEAM ecosystem based on HiPE, the High Performance Erlang compiler. HiPErJiT uses runtime profiling to decide which modules to compile to native code and which of their functions to inline and type-specialize. HiPErJiT is integrated with the runtime system of Erlang/OTP and preserves aspects of Erlang's compilation which are crucial for its applications: most notably, tail-call optimization and hot code loading at the module level. We present HiPErJiT's architecture, describe the optimizations that it performs, and compare its performance with BEAM, HiPE, and Pyrlang. HiPErJiT offers performance which is about two times faster than BEAM and almost as fast as HiPE, despite the profiling and compilation overhead that it has to pay compared to an ahead-of-time native code compiler. But there also exist programs for which HiPErJiT's profile-driven optimizations allow it to surpass HiPE's performance.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2018. p. 25-36
Keywords [en]
Just-in-Time compilation, profile-driven optimization, HiPE, Erlang
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:uu:diva-390245DOI: 10.1145/3310232.3310234ISI: 000473328500003ISBN: 978-1-4503-7143-8 (print)OAI: oai:DiVA.org:uu-390245DiVA, id: diva2:1341182
Conference
30th Symposium on Implementation and Application of Functional Languages (IFL),Lowell, MA, September 05-07, 2018
Available from: 2019-08-07 Created: 2019-08-07 Last updated: 2019-08-07Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full text

Authority records BETA

Sagonas, Konstantinos

Search in DiVA

By author/editor
Sagonas, Konstantinos
By organisation
Computing Science
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 13 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf