Click here to Skip to main content
15,867,308 members
Articles / Programming Languages / Javascript

Saltarelle vs JSIL -- Raytracer Demo

Rate me:
Please Sign up or sign in to vote.
5.00/5 (4 votes)
28 Dec 2012CPOL2 min read 10.7K   4   1
In this post, I have compared the performance of Saltarelle-compiler vs. another C# to JavaScript compiler: JSIL by Kevin Gadd.

I've compared the performance of Saltarelle-compiler vs. another C# to JavaScript compiler: JSIL by Kevin Gadd.

Differently from Saltarelle, JSIL operates at intermediate language (IL) level. After the C# program is compiled by Visual Studio, JSIL examines the MSIL instruction code contained in the DLL files and translates them into JavaScript.

This allows a greater compatibility and portability of .NET applications, but probably introduces an unnecessary layer of abstraction between the original C# code and the JavaScript output.

This is shown by the following test.

I've converted the Raytracer Demo featured on the JSIL website to the Saltarelle compiler, with the aim to compare the execution speed of the two versions.

Adapting the code to Saltarelle was easy but not straightforward. Saltarelle was missing some needed System classes that I had to re-implement, namely Bitmap, Color, StopWatch, Console and Random. I tried to keep them as similar as possible to the JSIL version so to not affect the result of the test. I also had to write the import code for mersenne.js, a small library the demo uses for generating random numbers (probably because javascript's Math.random() lacks the random seed feature).

Result of the Test

I ran the test on a four core Athlon AMD processor with Windows 7 and Chrome browser. The result is summarized in the table:

  Saltarelle JSIL
Script code size (.js) 108 KB 15 MB
Average time/pixel 0.006 ms 0.093 ms

So, on average, Saltarelle is 15 times faster than JSIL. Impressive!

The output script code is also very small-sized with no loading time, while the JSIL version has to download 15 MB of stuff before it can start.

Check By Yourself

You can run the above test in your browser:

You can also download the Visual Studio solution used to build the Saltarelle version.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionShort and useful Pin
Frank Hileman29-Dec-12 7:46
Frank Hileman29-Dec-12 7:46 
A short article presenting useful information. I could not find other comparisons like this. Thanks!
check out VG.net: www.vgdotnet.com
An animated vector graphics system integrated in VS.net

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.