diff options
author | Alon Zakai <alonzakai@gmail.com> | 2011-06-16 18:03:06 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2011-06-16 18:03:06 -0700 |
commit | 2664b875614f188cc4f14fcb28b125dbb274d4e3 (patch) | |
tree | c479138689b8939475b25a44fa008debebc4477d /docs | |
parent | 4d0f6917baef98bcf4007d22e169af9f322e698f (diff) |
paper improvements
Diffstat (limited to 'docs')
-rw-r--r-- | docs/paper.tex | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/docs/paper.tex b/docs/paper.tex index 8e3580c0..f3272557 100644 --- a/docs/paper.tex +++ b/docs/paper.tex @@ -29,7 +29,7 @@ \begin{abstract} We present Emscripten, an LLVM-to-JavaScript compiler. Emscripten compiles -LLVM assembly code into standard JavaScript, which opens up two avenues for running code written +LLVM (Low Level Virtual Machine) assembly code into standard JavaScript, which opens up two avenues for running code written in languages other than JavaScript on the web: (1) Compile code directly into LLVM bitcode, and then compile that into JavaScript using Emscripten, or (2) Compile a language's entire runtime into LLVM and then JavaScript, as in the previous @@ -633,7 +633,18 @@ The first column is the name of the benchmark, and in parentheses any parameters used in running it. The source code to all the benchmarks can be found at \url{https://github.com/kripken/emscripten/tree/master/tests} (each in a separate file with its name, except for `primes', which is -embedded inside runner.py in the function test\_primes). The second +embedded inside runner.py in the function test\_primes). A brief summary of +the benchmarks is as follows: +\begin{itemize} +\item \textbf{fannkuch} and \textbf{fasta} are commonly-known benchmarks, appearing for example + on the Computer Language Benchmarks Game\footnote{\url{http://shootout.alioth.debian.org/}}. + They use a mix of mathematic operations (integer in the former, floating-point in the latter) and memory access. +\item \textbf{primes} is the simplest benchmark in terms of code. It is basically just a tiny loop that calculates prime numbers. +\item \textbf{raytrace} is real-world code, from the sphereflake raytracer\footnote{\url{http://ompf.org/ray/sphereflake/}}. This benchmark has a combination of memory access and floating-point math. +\item \textbf{dlmalloc} (Doug Lea's malloc\footnote{\url{http://en.wikipedia.org/wiki/Malloc#dlmalloc_and_its_derivatives}}) is a well-known real-world implementation of malloc and free. This benchmark does a large amount of calls to malloc and free in an intermixed way, which tests memory access and integer calculations. +\end{itemize} + +Returning to the table of results, the second column is the elapsed time (in seconds) when running the compiled code (generated using all Emscripten and LLVM optimizations as well as the Closure Compiler) in the SpiderMonkey JavaScript engine (specifically the JaegerMonkey branch, checked out June 15th, 2011). |