Die JIT (Just-in-Time-Kompilierung) ist eine Methode zur Verbesserung der Laufzeitleistung von Computerprogrammen basierend auf Bytecode (Code der virtuellen Maschine).
Ich versuche die Unterschiede zwischen einem traditionellen Interpreter, einem JIT-Compiler, einem JIT-Interpreter und einem AOT-Compiler zu verstehen. Ein Interpreter ist lediglich eine Maschine (virtuell oder physisch), die Anweisungen in einer bestimmten Computersprache ausführt. In diesem Sinne ist die JVM ein Interpreter und physikalische CPUs sind Interpreter. Zeitnahes Kompilieren bedeutet einfach, …
Ein wiederkehrendes Thema zu SE, das mir in vielen Fragen aufgefallen ist, ist das anhaltende Argument, dass C ++ schneller und / oder effizienter ist als übergeordnete Sprachen wie Java. Das Gegenargument ist, dass moderne JVM oder CLR dank JIT und so weiter für eine wachsende Anzahl von Aufgaben genauso …
Gibt es einen Just-in-Time-Compiler für kompilierte Sprachen wie C und C ++? (Die ersten Namen, die mir in den Sinn kommen, sind Clang und LLVM! Aber ich glaube nicht, dass sie es derzeit unterstützen.) Erläuterung: Ich denke, die Software könnte von Feedback zur Laufzeitprofilerstellung und einer aggressiv optimierten Neukompilierung von …
Ich entwickle Websites auf Basis der .NET-Plattform. Normalerweise stelle ich diese Sites auf meinem lokalen IIS bereit, damit ich sie testen und ihre Funktionalität überprüfen kann, bevor sie live geschaltet werden. Bei jedem Neustart von Windows scheint es jedoch sehr lange zu dauern, bis Websites zum ersten Mal ausgeführt werden. …
Ich habe nach Dolmetschern / Compilern gesucht und bin dann auf JIT-Compilation gestoßen - speziell auf die V8 Javascript Engine von Google Chrome. Meine Fragen sind - Wie kann es schneller sein als die Standardinterpretation? Warum wurde JIT-Compilation überhaupt nicht verwendet? Mein aktuelles Verständnis Jedes Javascript-Programm startet als Quellcode und …
Ich habe im Internet über Meta-Circular-Interpreter (einschließlich SICP) gelesen und mich mit dem Code einiger Implementierungen (wie PyPy und Narcissus) befasst. Ich habe ziemlich viel über zwei Sprachen gelesen, die sich der metazirkulären Auswertung bedienten, Lisp und Smalltalk. Soweit ich verstanden habe, war Lisp der erste selbsthostende Compiler und Smalltalk …
Moderne Javascript-Implementierungen wie V8 (Chrome), SpiderMonkey (Firefox) und Chakra (IE / Edge) verfügen alle über eine JIT-Kompilierung und eine Reihe weiterer Optimierungen zur Verbesserung der Leistung. Warum hat Python diese nicht? Ich habe mir PyPy und IronPython angesehen, die beide Geschwindigkeitsgewinne beanspruchen. PyPy Ich verstehe nicht, wie eine in Python, …
Wie wird zur Laufzeit generierter Maschinencode (z. B. die Ausgabe einer JIT) tatsächlich von der CPU ausgeführt, wenn die CPU / das Betriebssystem über ein Ausführungssperrbit verfügt? Soweit ich weiß, unterstützen viele moderne Prozessoren und Betriebssysteme ein NX-Bit (einschließlich Intel und ARM), das verhindert, dass Maschinencode ausgeführt wird, der an …
Die Präferenz für dynamisches und statisches Tippen ist weitgehend Geschmackssache, und verschiedene Menschen finden sie in verschiedenen Situationen mehr oder weniger geeignet. Meine Frage ist, wäre es technisch möglich, eine statisch typisierte Alternative zu JavaScript für die clientseitige Webseitenerweiterung usw. zu haben?
Einige JVMs kompilieren Java-Bytecode in nativen Maschinencode. Wir wissen, dass wir dafür viele Optimierungen anwenden können. Kürzlich habe ich auch erfahren, dass eine Verzweigungsoperation die CPU blockieren und die Leistung erheblich beeinträchtigen kann, wenn eine CPU eine falsche Vorhersage macht. Weiß jemand, ob eine JVM Maschinencodes für die CPU einfacher …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.