Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 3162|Válasz: 1

[Kommunikáció] Bevezetés és különbség a JIT és az AOT fordítás között .NET formátumban

[Linket másol]
Közzétéve 2024. 02. 15. 17:17:46 | | | |
Terminológia

CLI: A Common Language Infrastructure egy specifikáció a .NET keretrendszerben, amely nyelvtől független, architektúrák közötti futásidőt határoz meg. Ezért különböző felsőszintű nyelveken fejleszthetünk szoftvereket a specifikáció alatt, amelyek módosítás nélkül különböző számítógépes architektúrákban futhatnak

CLR: Közös nyelvű futásidő. egy specifikáció, amely biztosítja, hogy az operációs környezet nyelvfüggetlen és architektúrákon átíveljen

CTS: Általános Típus Rendszer

CLS: Közös nyelvi specifikáció

FCL: Framework Class Library 架构类库,包含两部分: 基础类库 Base Class  Library 和成品类库

IL: Azonnali nyelv Intermediate nyelv, Haladó nyelvfordító a haladó nyelvek forráskódját köztes nyelvekre fordítja.

JIT: Just In Time Compiler egy köztes nyelvet fordít gépi kódba, amit a számítógép megért, és ezt aztán futtatni

A forráskódot C# fordító (azaz programok, dll-ek, ex-ek stb.) fordítja IL-be (például programok, dll-ek, ex-ek stb.). A CLR betölti ezeket az IL-eket, JIT-en keresztül gépi kódba fordítja őket, és végül végrehajtják, ahogy az alábbi ábrán látható:



JIT (Just-in-time fordító) menet közben készül lefordítani

A just-in-time fordító (JIT) a .NET Common Language Runtime (CLR) része, és felelős a . .NET program, függetlenül attól, hogy . .NET programozási nyelv. A nyelvspecifikus fordítók forráskódot köztes nyelvekre alakítják át. Ezt a köztes nyelvet egy just-in-time (JIT) fordító gépi kóddá alakítja. Ez a gépi kód kifejezetten arra a számítógépkörnyezetre vonatkozik, ahol a JIT fordító fut.  JIT fordítói munka: A JIT fordítóknak fel kell gyorsítaniuk a kód végrehajtását, és több platformot is támogatniuk kell. Így működik:



A JIT fordító a Microsoft Intermediate Language-t (MSIL) vagy a Common Intermediate Language-t (CIL) gépi kóddá alakítja. Ezt a MSIL vagy CIL végrehajtása előtt kell megtenni. A MSIL-t szükség szerint gépi kódra alakítják át, azaz a JIT fordító a szükséges szerint fordítja a MSIL-t vagy CIL-t, nem pedig az egész kódot fordítaná. Tárolja a lefordított MSIL vagy CIL rendszert, hogy szükség esetén a következő hívásokhoz is használható legyen.

JIT előnyök:

  • Valós időben fordítható és generálható a jelenlegi hardverhelyzet szerint
  • Az optimális gépi utasítássorozat a jelenlegi programművelet alapján generálható
  • Ha egy programnak dinamikus összekapcsolást kell támogatnia, csak a JIT fordítási módszert használhatja
  • A kód a memória tényleges helyzete szerint állítható a folyamat során, hogy jobban kihasználhassák a memóriát


JIT hátrányok:

  • A fordításhoz a futási idő erőforrásai szükségesek, ami a folyamat akadását okozza a végrehajtáskor
  • A fordítás futási időt vesz igénybe, és néhány kódfordítási optimalizálás nem teljesen támogatható, ezért szükséges egyensúlyt teremteni a folyékonyság és az idő között
  • A fordítás előkészítése és a gyakran használt módszerek azonosítása időigényes, és az első fordítás nem éri el a legmagasabb teljesítményt


Az AOT (Afore-of-time compiler) előre van lefordítva.

A számítástechnikában a korai fordítás (AOT fordítás) azt jelenti, hogy egy (többnyire) magas szintű programozási nyelvet fordítanak (általában alacsonyabb szintű nyelvre) egy program végrehajtása előtt, általában az építés idején, hogy csökkentsék a futásidőben elvégzett erőfeszítést.

Legtöbbször ez nem ugyanaz, mint a magas szintű programozási nyelvek (például C vagy C++) vagy köztes reprezentációk, mint például a Java bytecode vagy . NET Framework Common Intermediate Language (CIL) kódot fordítanak le natív (rendszerfüggő) viselkedéshez köthetőnek. gépi kódot használ, hogy a kapott binárisok natív módon lehessen végrehajtani, akárcsak egy szabványos natív fordító. Ebben a konkrét környezetben gyakran az éppen időben (JIT) fordítás ellentéteként értelmezik.

Az AOT fordítás még azelőtt történik, hogy a program lefordításra vagy telepítésre kerülne, vagyis előre fordítja a szkripteket vagy bájtkódokat gépi kódba, és közvetlenül végrehajtja őket, amikor szükséges. Ez javíthatja a programok indítási sebességét, és elkerülheti a fordítási folyamat által okozott késéseket.

AOT előnyök:

  • A program futtatása előtt történő fordítás elkerüli a fordítási teljesítményt és a memóriafogyasztást futásidőben
  • A csúcsteljesítmény a program elején érhető el
  • Ez jelentősen felgyorsíthatja a programvégrehajtás hatékonyságát


AOT hátrányok:

  • A program futtatása előtt történő fordítás megnöveli a program telepítésének idejét
  • Az előre fordított tartalom mentése több memóriát foglal el
  • A magas szintű nyelvek következetességének feláldozása


összefoglalás

JIT: Nagy áteresztőképesség, futási idő teljesítménybónusz, gyorsabban futhat, dinamikusan generálhat kódot stb., de viszonylag lassú az indítás, és bizonyos idő, hívási frekvencia szükséges a JIT rétegezési mechanizmus aktiválásához
AOT: Alacsony memóriahasználat, gyors indítási sebesség közvetlenül statikus módon összekapcsolhatja a futást a végső programhoz futás nélkül, de nincs futási teljesítménybónusz, és a program futtatása szerint nem optimalizálható tovább



Utalás:

A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.





Előző:.NET/C# A nagy teljesítmény több fájlt egyesít egyetlen fájlba
Következő:.NET/C# gyűjteménylista, HashSet annak meghatározására, hogy egy elemnek van-e benchmark
 Háziúr| Közzétéve 2024. 03. 10. 10:58:59 |
.NET/C# Roslyn compiler platform
https://www.itsvse.com/thread-10740-1-1.html
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com