this is for holding javascript data
dcdelia
over 8 years ago
Commit id: 2a67f6b2287502fd4b1304f0e3ca294986764555
deletions | additions
diff --git a/artifact/session3.tex b/artifact/session3.tex
index 4ca68ac..d5b95eb 100644
--- a/artifact/session3.tex
+++ b/artifact/session3.tex
...
\begin{small}
\begin{verbatim}
$ ./mcvm < benchmarks/scripts/direct/odeRK4
***********************************************
McVM - The McLab Virtual Machine v1.0
Visit http://www.sable.mcgill.ca for more info.
*********************************************** [...]
>: >: Compiling function: "testSH_direct"
Compiling function: "odeRK4_testSHfun"
Compiling function: "testSHfun"
...
\noindent In this scenario McVM can compile the whole program ahead of time, as {\tt rhsSteelHeat} is not invoked through an {\tt feval} call anymore. A comparison of the running times suggests a rough $32.537/11.777=2.791$ speedup for by-hand optimization w.r.t. the baseline version.
We can now try to assess the speedup
for from our {\tt feval} optimization technique on {\tt odeRK4}:
\begin{small}
\begin{verbatim}
$ cd ~/Desktop/mcvm
$ ./mcvm -jit_feval_opt true <
benchmarks/scripts/base/odeRK4
***********************************************
McVM - The McLab Virtual Machine v1.0
Visit http://www.sable.mcgill.ca for more info.
*********************************************** [...]
>: >: Compiling function: "testSH"
Compiling function: "odeRK4"
Compiling and tracking a feval instruction...
...
\noindent The execution time ratio between the base version and the optimized code that we JIT-compile is thus $32.867/12.214=2.691$. We can observe that compensation code is generated to perform unboxing of IIR variables {\tt y} and {\tt \$t10} so that execution can correctly resume from the optimized code.
We can finally evaluate the speedup enabled by our code caching mechanism for the compilation of continuation functions by running:
\begin{small}
\begin{verbatim}
$ ./mcvm -jit_feval_opt true <
benchmarks/scripts/many/odeRK4
\end{verbatim}
\end{small}
\noindent The experiment duration was $\approx1$m, with a time per trial of $\approx11.817$s (discarding the warm-up run). The resulting speedup w.r.t. is thus $32.867/11.817=2.781$.