AOT-կոմպիլյացիա
AOT-կոմպիլյացիան (անգլ.՝ Ahead-of-time (AOT) compilation) կոմպիլյացիայի տեսակ է, որը օգտագործում է Ahead of Time Compilation (իրականացում կոմպիլյացիայից առաջ)։ Օգտագործվում է ինչպես բարձր մակարդակի լեզուների համար, ինչպիսին են C-ն և С++-ը կամ Pascal-ը, այնպես էլ միջանկյալ լեզունների կոմպիլյացիայի համար, ինչպիսին են բայթկոդ Java, .NET Common, Intermediate Language (CIL), IBM System/38, IBM System i.
Լեզունների մեծամասնությունը օգտագործում է JIT մեթոդը, որը թույլատրում է իր կատարման ժամանակ կոմպիլյացնել միջանկյալ կոդը միանգամից բինար կոդի, որը թուլ է տալիս զգալիորեն մեծացնել կատարման արագությունը։ JIT-ը պահանջումէ լրացուցիչ հիշողություն։
'АОТ' մեթոդը չի պահանջում լրացուցիչ հիշողություն և АОТ-կոմպիլյացիան համակարգի վրա կատարվում է մինիմալ ծանրաբեռնվածությամբ։ Կոմպիլյացիայի պրոցեսսը ամբողջությամբ կատարվում է ծրագրի կատարումից առաջ։

JIT կոմպիլյացիան կարող է կիրառվել ինչպես ամբողջ ծրագրում, այնպես էլ դրա առանձին մասերում։ Օրինակ տեքստային ձևախիչը (անգլ.՝ text editor) կարող է կոմպիլյացնել ռեգուլյար արտահայտությունները տեքստի ավելի արագ փնտրման համար։ AOT-կոմպիլյացիայի հետ այդպիսի բան անել հնարավոր չէ, քանի որ տվյալները տրամադրում են ծրագրի կատարման ժամանակ, այլ ոչ թե կոմպիլյացիայի ժամանակ։
Արտաքին հղումներ խմբագրել
- Speed: NGen Revs Up Your Performance with Powerful New Features -- MSDN Magazine, April 2005
- Mono AOT
- Excelsior JET -- Certified Java SE Implementation with AOT compiler Archived 2010-12-16 at the Wayback Machine.
- GNU Compiler for Java Archived 2008-04-18 at the Wayback Machine.
- AOT compilation of asm.js
- Aonix PERC Ultra
- Real-time Java, Part 2: Comparing compilation techniques -- IBM developerWorks, April 2007
- Improving Swing Performance: JIT vs AOT Compilation -- LinuxWorld Magazine, November 2004 Archived 2008-06-12 at the Wayback Machine.
- manta