Click here to Skip to main content
Click here to Skip to main content
Technical Blog

Tagged as

Saltarelle vs JSIL -- Raytracer Demo

, 28 Dec 2012 CPOL
Rate this:
Please Sign up or sign in to vote.
I've 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 codes 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 BitmapColorStopWatch, 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:
SaltarelleJSIL
Script code size (.js)108 KB15 MB
Average time/pixel0.006 ms0.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)

Share

About the Author

Antonino Porcino
Software Developer
Italy Italy
No Biography provided

Comments and Discussions

 
GeneralMy vote of 5 PinmemberPepLamb5-Dec-13 6:37 
QuestionShort and useful PinmemberFrank Hileman29-Dec-12 8:46 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.1411022.1 | Last Updated 28 Dec 2012
Article Copyright 2012 by Antonino Porcino
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid