Product Design, Manufacturing & Innovation Resources
Maison » Compilation juste à temps (JIT)

Compilation juste à temps (JIT)

1990
Ingénieur logiciel optimisant la compilation JIT dans un espace de travail moderne.

(Image générée à titre d'illustration uniquement)

Juste à temps Par exemple, il peut effectuer une inlining spéculative d'appels de méthodes virtuelles s'il observe qu'un type concret particulier est toujours utilisé. compilateur Si cette hypothèse s’avère ultérieurement fausse, le JIT peut effectuer une « désoptimisation » et revenir à un chemin d’exécution plus sûr.

A JIT compilateur operates within a runtime environment or virtual machine. When a method is called for the first time, its platform-independent bytecode is compiled into native machine code and cached. Subsequent calls to that method execute the fast, native code directly, bypassing the overhead of interpretation. This introduces a small startup or warm-up delay but can result in significant long-term performance gains for long-running applications.

Le principal avantage de la compilation JIT est la possibilité d’effectuer une optimisation guidée par profil ou adaptative.

UNESCO Nomenclature: 1203
- Informatique

Taper

Logiciel/Algorithme

Perturbation

Substantiel

Usage

Utilisation généralisée

Précurseurs

  • compilateurs à l'avance (aot)
  • interprètes
  • p-code et autres systèmes de bytecode
  • recherche dans les langages dynamiques comme smalltalk et lisp
  • concepts de machine virtuelle

Applications

  • machine virtuelle Java (JVM)
  • .net Common Language Runtime (clr)
  • moteurs JavaScript dans les navigateurs Web (par exemple, v8)
  • pypy, une implémentation Python haute performance
  • moteurs d'exécution de requêtes de base de données

Brevets:

NA

Idées d'innovations potentielles

  • compilation jit prédictive qui compile les chemins de code avant même qu'ils ne soient exécutés en fonction de modèles probabilistes
  • compilation JIT multi-appareils où un serveur puissant exécute JIT pour un client à faible consommation
  • compilateurs JIT pour SQL qui réoptimisent les plans de requête en cours d'exécution en fonction des statistiques de données intermédiaires
  • compilateurs JIT sécurisés qui insèrent des contrôles de sécurité d'exécution et du sandboxing dans le code généré
  • compilateurs jit pour les fichiers de configuration (par exemple, nginx, apache) pour accélérer le traitement des requêtes
  • compilateurs JIT économes en énergie qui choisissent des optimisations pour équilibrer les performances et la consommation d'énergie
  • compilateurs jit ciblant les FPGA, reconfigurant le matériel à l'exécution
  • dé-optimisation des compilateurs JIT qui peuvent revenir à une compilation plus simple si une hypothèse d'optimisation s'avère fausse
  • compilation JIT distribuée pour les architectures de microservices
  • compilateurs jit qui génèrent du code pour l'exécution GPU à la volée
Related to: JIT, juste à temps compilation, dynamic compilation, virtual machine, jvm, clr, v8, bytecode, adaptive optimization, runtime.

Contexte historique

Compilation juste à temps (JIT)

1980
1986-01-01
1990
1990
1993
1998
2010
1980
1982-07-01
1988-06-01
1990
1993
1997-04-23
2001
2010

(si la date est inconnue ou non pertinente, par exemple « mécanique des fluides », une estimation arrondie de son émergence notable est fournie)

10e année anniversaire

Les images en pleine résolution et les téléchargements sont uniquement disponibles, et 100% gratuits, pour les membres inscrits.