Skip to content

Commit

Permalink
paper improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
kripken committed Jun 17, 2011
1 parent 4d0f691 commit 2664b87
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions docs/paper.tex
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -633,7 +633,18 @@ \subsection{Benchmarks}
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).
Expand Down

0 comments on commit 2664b87

Please sign in to comment.