This commit is contained in:
Alon Zakai 2011-06-16 18:03:06 -07:00
Родитель 4d0f6917ba
Коммит 2664b87561
1 изменённых файлов: 13 добавлений и 2 удалений

Просмотреть файл

@ -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).