2
0
Fork 0
mirror of https://github.com/MartinThoma/LaTeX-examples.git synced 2025-04-26 06:48:04 +02:00

Vorschlag von Moritz (E-Mail vom 08.04.2014) umgesetzt; Fehler, den Jeremias über Facebook am 08.04.2014 berichtet hat, wurde behoben

This commit is contained in:
Martin Thoma 2014-04-08 15:03:38 +02:00
parent 9c2b597bc3
commit 8caf744da4
4 changed files with 24 additions and 2 deletions

View file

@ -41,12 +41,28 @@ Die \textit{Just-in-time-Compiler}\xindex{Compiler!Just-in-time}\index{JIT|see{J
Laufzeitübersetzung. Folgendes sind Vor- bzw. Nachteile von Just-in-time Compilern:
\begin{itemize}
\item schneller als reine Interpretierer
\item Speichergewinn: Quelle kompakter als Zielprogramm\todo{Was ist hier gemeint?}
\item Speichergewinn: Quelle kompakter als Zielprogramm (vgl. \cref{bsp:code-kompaktheit})
\item Schnellerer Start des Programms
\item Langsamer (pro Funktion) als vollständige Übersetzung
\item kann dynamisch ermittelte Laufzeiteigenschaften berücksichtigen (dynamische Optimierung)
\end{itemize}
\begin{beispiel}[Code-Kompaktheit]\label{bsp:code-kompaktheit}%
Man betrachte folgende Codestücke:
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=Hello.java]{java}{scripts/java/Hello.java}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, label=hello-world.c]{c}{scripts/c/hello-world.c}
Nun zum Größenvergleich:
\begin{itemize}
\item Der C-Code ist 83 Byte groß,
\item der Java-Codee ist 123 Byte groß,
\item der generierte Java Bytecode ist 416 Byte groß und
\item der erzeugt Maschinencode aus C ist 8565 Byte groß.
\end{itemize}
\end{beispiel}
Moderne virtuelle Maschinen für Java und für .NET nutzen JIT-Compiler.
Bei der \textit{vollständigen Übersetzung} wird der Quelltext vor der ersten