Microsoft’s Scott Guthrie spoke of “twice as fast performance” in the newly-released Silverlight 4, thanks to a new just-in-time compiler.
Performance is a hard thing to nail down. Maybe he meant that compilation is twice as fast? I’m not sure; but I tried a couple of quick tests.
First, I looked at my Primes test. Version 3 running in Windows Vista took around 0.40 seconds (the exact figure varies on each run, thanks to background processes or other factors). I then upgraded to version 4.0. No significant difference, on average over several runs. I used Vista because I’d already upgraded my Windows 7 install.
Next I tried Bubblemark. I maxed it out at 128 bubbles. On Vista with Silverlight 3 I got about 240 fps; on the same machine with Silverlight 4 about 260fps; about 8%.
Next I tried on an Apple Mac. My Mac Mini is less powerful, though not that bad, an Intel 1.83 Ghz Core Duo. On the Prime test I got 0.54 secs before, and 0.50 secs after the upgrade to 4.0, about 7.5% improvement. On Bubblemark, it was only 24 fps before and after.
I guess the vast difference in graphics performance is also interesting. It is not just Mac vs Windows; the Nvidia GeForce 6800 on the PC is more powerful than whatever is in the Mac Mini.
If anyone can tell me in what respect version 4.0 is twice as fast, I’d be grateful.
Update: prompted by the comment from David Heffernan below, I also tried the Encog Silverlight Benchmark. I used an older core duo laptop, since I am running out of machines to upgrade. I ran the test twice before upgrading, and twice after. Lower is better:
Silverlight 3.0: 22.0
Silverlight 4.0: 12.7
That’s about 42% better, where “twice as fast” would be 50% better, much closer to Guthrie’s claim. I guess it depends what you measure.
Hi Tim … my experience is the same and while everyone keeps talking about how much faster Silverlight is than HTML and/or Flash, this simple test of rendering 1000 controls proves otherwise …
http://www.bulkdatafeeds.com/RenderTest/RenderTest.htm
Run each test a couple of times to get accurate timings.
I’m not sure you can rely on a benchmark that takes 0.5 seconds to run. A good deal of that time will surely be startup time.
Surely there are commonly used benchmarks out there produced by people that know about benchmarks?
A websearch took me to Encog Silverlight Benchmark which scored 14.6 with v3 and 8.5 with v4, for what it’s worth.
I don’t remember exacty, but wasn’t it about startup time due to cache of ngen images?
Some performance details in this video, in the “Ask the Gu” section, at about 01 hours 27 minutes
http://www.microsoft.com/silverlight/silverlight-4-launch/
In SL4, they precompile the main assemblies during installation time, meaning they can afford to spend time running compiler optimizations.
My colleague tried one of our IronPython apps with Silverlight 4 compared to Silverlight 3. He reckoned an average of 20% performance improvement, which is not bad considering it comes for “free” just by upgrading Silverlight.
Silverlight 4 utilizes more of your GPU than your GPU for rendering. This makes the difference. And in next releases they are adding more and more performance.