Ahead-of-time compilation

In computer science, ahead-of-time compilation (AOT compilation) is the act of compiling an (often) higher-level programming language into an (often) lower-level language before execution of a program, usually at build-time, to reduce the amount of work needed to be performed at run time.

It is most commonly associated with the act of compiling a higher-level programming language such as C or C++, or an intermediate representation such as Java bytecode or Common Intermediate Language (CIL) code, into native machine code so that the resulting binary file can execute natively, just like a standard native compiler. When being used in this context, it is often seen as an opposite of just-in-time (JIT) compiling.

Speaking more generally, the target languages of an AOT compilation are not necessarily specific to native machine code but are defined rather arbitrarily. Some academic papers use this word to mean the act of compiling the Java bytecode to C[1] or the timing when optimization pipeline are performed.[2] An academic project[3] uses this word to mean the act of pre-compiling JavaScript to a machine-dependent optimized IR for V8 (JavaScript engine)[4] and to a machine independent bytecode for JavaScriptCore.[5] Some industrial language implementations (e.g. Clojure[6] and Hermes JavaScript engine[7]) use this word to mean the act of pre-compiling the source language to VM specific bytecode. Angular (web framework) uses this word to mean converting its HTML template and TypeScript to JavaScript.[8]

In fact, since all static compilation is technically performed ahead of time, this particular wording is often used to emphasize examples where there are significant performance advantages over the act of such pre-compiling. The act of compiling Java to Java bytecode is hence rarely referred to as AOT since it is usually a requirement, not an optimization.

Reduced runtime overhead

Some programming languages with a managed code runtime that can be compiled to an intermediate representation use just-in-time (JIT) compiling. This briefly compiles intermediate code into machine code for a native run while the intermediate code is executing which may slow an application's performance. Ahead-of-time compiling eliminates the need for this step by occurring before execution rather than during execution.

Ahead-of-time compiling for dynamically typed languages to native machine code or other static VM bytecode is possible in a limited number of cases only.[citation needed] For example, the High Performance Erlang Project (HiPE) AOT compiler for the language Erlang can do this because of advanced static type reconstruction techniques and type speculations.

In most situations with fully AOT compiled programs and libraries, it is possible to remove part of a runtime environment, thus saving disk space, memory, battery life, and startup times (no JIT warmup phase), etc. Because of this, it can be useful in embedded or mobile devices.

Performance trade-offs

AOT compilers can perform complex and advanced code optimizations which in most cases of JITing will be considered much too costly. In contrast, AOT usually cannot perform some optimizations possible in JIT like runtime profile-guided optimization (PGO), pseudo-constant propagation, or indirect-virtual function inlining. AOT must compile to a target architecture while a JIT can compile the code to make the best use of the actual CPU it is running on, even years after the software has been released.

Further, JIT compilers can speculatively optimize hot code by making assumptions on the code. The generated code can be deoptimized if a speculative assumption later proves wrong. Such operation slows the performance of the running software until code is optimized again by adaptive optimization. An AOT compiler cannot make such assumptions and needs to infer as much information as possible at compile time. It needs to resort to less specialized code because it cannot know what types will go through a method. Such problems can be alleviated by profile-guided optimizations. But even in this case, the generated code cannot be adapted dynamically to the changing runtime profile as a JIT compiler would do.

Storage trade-offs

See also

References

  1. ^ Jung, Dong-Heon; Park, Jong Kuk; Bae, Sung-Hwan; Lee, Jaemok; Moon, Soo-Mook (2006-10-22). "Efficient exception handling in Java bytecode-to-c ahead-of-time compiler for smbedded systems". Proceedings of the 6th ACM & IEEE International conference on Embedded software - EMSOFT '06. EMSOFT '06. Seoul, Korea: Association for Computing Machinery. pp. 188–194. doi:10.1145/1176887.1176915. ISBN 978-1-59593-542-7. S2CID 15591457.
  2. ^ Chambers, Craig (2002-01-14). "Staged compilation". Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation. PEPM '02. Portland, Oregon: Association for Computing Machinery. pp. 1–8. doi:10.1145/503032.503045. ISBN 978-1-58113-455-1. S2CID 18546907.
  3. ^ Zhuykov, R.; Sharygin, E. (2017-01-01). "Ahead-of-time compilation of JavaScript programs". Programming and Computer Software. 43 (1): 51–59. doi:10.1134/S036176881701008X. ISSN 1608-3261. S2CID 2338849.
  4. ^ ispras/v8-aotc, Ivannikov Institute for System Programming of the Russian Academy of Sciences, 2021-01-30, retrieved 2021-03-17
  5. ^ ispras/webkit-aotc, Ivannikov Institute for System Programming of the Russian Academy of Sciences, 2021-01-30, retrieved 2021-03-17
  6. ^ "Clojure - Ahead-of-time Compilation and Class Generation". clojure.org. Retrieved 2021-03-17.
  7. ^ "Hermes: A new open source JavaScript engine optimized for mobile apps". Facebook Engineering. 2019-07-12. Retrieved 2021-03-17.
  8. ^ "Angular". angular.io. Retrieved 2021-03-17.

Read other articles:

Bahasa Arab KunoEpitaf Imru al-Qays ibn Amr (328 M)WilayahBarat laut Jazirah Arab dan selatan SyamEraAwal Milenium ke-1 SM hingga abad ke-7 MRumpun bahasaAfroasiatik SemitSemit BaratSemit TengahArabArab Kuno Bentuk awalProto-Arab Arab Kuno Sistem penulisanSafaitik, Hismaik, Dadanitik, Nabath, Arabic, YunaniKode bahasaISO 639-3Tidak ada (mis)GlottologTidak ada Status konservasi Punah EXSingkatan dari Extinct (Punah)Terancam CRSingkatan dari Critically endangered (Terancam Kritis) SESingkatan d...

Cet article est une ébauche concernant la géologie. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Schéma représentant l'espace d'accommodation d'un environnement marin. Il y est lié aux variations eustatiques et tectoniques. L'espace d'accommodation est un concept fondamental de la stratigraphie séquentielle, une sous-discipline de la géologie, défini comme l'espace disponible pour le dépôt de sédime...

Ейнар Ґергардсенбук. Einar Gerhardsen Ім'я при народженні бук. Einar Henry OlsenНародився 10 травня 1897(1897-05-10)[1][2][…]Аскер, Акерсгус, НорвегіяПомер 19 вересня 1987(1987-09-19)[2][3][…] (90 років)Осло, НорвегіяПоховання Вестре ГравлюннdКраїна  НорвегіяМісце проживання Осло[5]Дія�...

У Вікіпедії є статті про інші значення цього терміна: Семисотка. Семисотка Кримська дирекція Придніпровська залізниця станція РозташуванняРозташування с. СемисоткаКоординати 45°14′35″ пн. ш. 35°34′16″ сх. д. / 45.24306° пн. ш. 35.57111° сх. д. / 45.24306; 3...

この項目には性的な表現や記述が含まれます。免責事項もお読みください。 いちじょう きみか一条 綺美香プロフィール生年月日 1964年4月11日現年齢 59歳出身地 日本・千葉県血液型 A型公称サイズ(2013年[1]時点)身長 / 体重 160 cm / ― kgスリーサイズ 90 - 60 - 82 cmブラサイズ F 単位系換算身長 / 体重 5′ 4″ / ― lbスリーサイズ 35 - 24 - 32 in活動ジャンル アダルトビデオ

Wisconsin Badgers 2022–23 Wisconsin Badgers women's basketball team UniversityUniversity of Wisconsin–MadisonAll-time record628-738Head coachMarisa Moseley (2nd season)ConferenceBig TenLocationMadison, WisconsinArenaKohl Center (Capacity: 17,230)NicknameBadgersStudent sectionArea RedColorsCardinal and white[1]   Uniforms Home Away NCAA tournament second round1995, 1996NCAA tournament appearances1992, 1995, 1996, 1998, 2001, 2002, 2010AIAW tournament Elite ...

Angel Beats!Sampul DVD kompilasi Angel Beats! menampilkan karakter-karakter utama (dari kiri ke kanan) Yuzuru Otonashi, Yuri Nakamura, and Angel (Kanade Tachibana)エンジェルビーツ!(Enjeru Bītsu!)GenreAksi, Drama, Fantasi, Tragedi Novel ringanAngel Beats! Track ZeroPengarangJun MaedaIlustratorGotoPPenerbitASCII Media WorksMajalahDengeki G's MagazineDemografiMaleTerbitNovember 2009 – Mei 2010Volume1 MangaAngel Beats! The 4-koma:Bokura no Sensen KōshinkyokuPengarangJun MaedaIlustrato...

  هذه المقالة عن الخطيب التَّبريزي المتوفي 502 هـ. لمعانٍ أخرى، طالع التبريزي. أبو زكريا التبريزي معلومات شخصية الميلاد سنة 1030  تبريز  الوفاة سنة 1109 (78–79 سنة)  بغداد  الإقامة العراق مواطنة  الدولة العباسية الجنسية عباسي العرق العرب الديانة أهل السنة والجما

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Show's Just Begun – news · newspapers · books · scholar · JSTOR (October 2018) (Learn how and when to remove this template message) 2008 studio album by MC MongShow's Just BegunStudio album by MC MongReleasedApril 17, 2008RecordedOctober 2007–April 2008GenreK-pop, hip ...

Sri Lankan cold soup This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this article by introducing more precise citations. (February 2013) (Learn how and when to remove this template message) DiyabathAlternative namesBath kenda / lunu kendaTypeSoupCourseBreakfastPlace of originSri LankaRegion or stateIsland wideCreated byMostly by sinhala village mothers but tamils also.Servi...

La caja con escenas de la historia de José es una obra de arte de marfil que se realizó en un taller de Constantinopla. Está fechado en el período bizantino medio, es decir, fue creado antes de 1204, el año en que Constantinopla fue saqueada por los venecianos y los cruzados. El Museo Bizantino de Berlín conserva los dos frisos de los lados largos (Inv. No. 568 y 569), mientras la placa de la cubierta se encuentra en el Museo Británico de Londres. Los paneles laterales tienen unas dime...

Largest school bus transportation service For the First Student brand in the United Kingdom, see First Student UK. This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of view. (February 2021) (Learn how and when to remove this template message) First Student, Inc.FormerlyRyder Public Transportation Services Inc.(1985–1999)P...

2004 film CampfireFilm posterHebrewמדורת השבט Directed byJoseph CedarWritten byJoseph CedarProduced byDavid MandilEyal ShirayStarringMichaela EshetHani FurstenbergMoshe IvgyMaya MaronCinematographyOfer InovEdited byEinat Glaser-ZarhinMusic byOfer ShalhinDistributed byFilm MovementRelease dates February 2004 (2004-02) (Berlin) 9 September 2005 (2005-09-09) Running time96 minutesCountryIsraelLanguagesHebrewEnglishBox office$34,835 (U.S. domestic)[1]...

Gabrielle UnionUnion pada 2018LahirGabrielle Monique Union29 Oktober 1972 (umur 51)Omaha, Nebraska, Amerika SerikatKebangsaanAmerika SerikatAlmamaterUniversitas California, Los Angeles (Sarjana)PekerjaanPemeran, pengisi suara, aktivisTahun aktif1993–kiniSuami/istri Chris Howard ​ ​(m. 2001; bercerai 2006)​ Dwyane Wade ​(m. 2014)​ Anak4 Gabrielle Monique Union Wade (lahir 29 Oktober 1972)[1] adalah...

American lawyer and politician; 25th Governor of Massachusetts (1861-66) For other people named John Andrew, see John Andrew (disambiguation). John Albion AndrewCarte de visite of Andrew, by James Wallace Black, 19th century25th Governor of MassachusettsIn officeJanuary 3, 1861 – January 4, 1866LieutenantJohn Z. GoodrichJohn NesmithJoel HaydenPreceded byNathaniel P. BanksSucceeded byAlexander H. BullockMember of the Massachusetts House of Representatives from the 6th Suffolk di...

Brazilian journalist and diplomat (1774–1823) Hipólito da CostaA painting of Costa, by an unknown artistBornHipólito José da Costa Pereira Furtado de Mendonça(1774-08-13)13 August 1774Colónia do Sacramento, Portuguese Colony of Brazil (present-day Uruguay)Died11 September 1823(1823-09-11) (aged 49)London, EnglandOccupationJournalist, diplomatAlma materUniversity of CoimbraRelativesJosé Saturnino da Costa Pereira Hipólito José da Costa Pereira Furtado de Mendonça (August 1...

Argentine footballer Emiliano Rigoni Rigoni with Zenit Saint Petersburg in 2019Personal informationFull name Emiliano Ariel RigoniDate of birth (1993-02-04) 4 February 1993 (age 30)Place of birth Colonia Caroya, ArgentinaHeight 1.81 m (5 ft 11 in)Position(s) WingerTeam informationCurrent team Austin FCNumber 7Youth career2005–2013 BelgranoSenior career*Years Team Apps (Gls)2013–2016 Belgrano 73 (8)2016–2017 Independiente 46 (15)2017–2021 Zenit Saint Petersburg 47 (...

37th Berlin MarathonSkaters taking part in the in-line skating section of the 2010 Berlin MarathonVenueBerlin, GermanyDates26 September 2010 (2010-09-26)ChampionsMenPatrick Makau (2:05:08)WomenAberu Kebede (2:23:58)← 20092011 → The 37th Berlin Marathon took place on Sunday 26 September 2010 on the streets of Berlin, Germany. The competition was sponsored by German retailer real,- and it was the third World Marathon Major of the year, as well as being an IA...

Chinese politician In this Chinese name, the family name is Jiang (江). Jiang Kanghu江亢虎Born(1883-07-18)July 18, 1883Yiyang, Jiangxi, ChinaDiedDecember 7, 1954(1954-12-07) (aged 71)Shanghai, ChinaNationalityChineseOccupationPolitician Jiang Kanghu (Chinese: 江亢虎; pinyin: Jiāng Kànghǔ; Wade–Giles: Chiang K'ang-hu; Hepburn: Kō Kōko), who preferred to be known in English as Kiang Kang-hu, (July 18, 1883 – December 7, 1954), was a politician and activist i...

Nova Rock Festival Nova Rock 2010 Lata aktywności od 2005 Termin Czerwiec Miejscowość Nickelsdorf, Austria Założyciel Nova Music Entertainment Tematyka rock Multimedia w Wikimedia Commons Strona internetowa Nova Rock Festival – festiwal muzyczny odbywający się w Nickelsdorfie w Austrii od 2005 roku. Festiwal odbywa się co roku w czerwcu. Nova Rock jest największym festiwalem muzycznym w Austrii oraz jednym z największych w Europie. Organizowany jest on przez Nova Music Entertainm...