Jump to navigation

Poupou's Corner of the Web

Looking for perfect security? Try a wireless brick.
Otherwise you may find some unperfect stuff here...

Weblog

Gendarme ♥ Cecil/Light

It's been a while since I published some benchmark numbers on Gendarme. Now with 2.10 there was a huge change by using the shiny new Cecil (aka cecil/light) library from the ever amazing JB Evain. So clearly a revision was in order...

Here's a table with some common Mono applications I frequently use:

#assemblies gendarme 2.6 gendarme 2.8 gendarme 2.10 ratio (%)
211 rules 221 rules 254 rules between 2.8 / 2.10
banshee 18 10.0 s 10.0 s 9.5 s 95 %
f-spot 23 11.1 s 10.7 s 8.3 s 78 %
gnome-do 12 4.5 s 4.3 s 2.9 s 67 %
monodoc 4 2.1 s 2.1 s 1.4 s 67 %
tomboy 1 3.1 s 3.6 s 2.3 s 64 %
mono (2.0 profile/default) 101 89.3 s 106.2 s 94.4 s 89 %
mono (2.0 profile/self-test)101 658.7 s 580.5 s 454.1 s 78 %

Notes:

  1. Gendarme was always executed with the matching version of Mono (e.g. Gendarme 2.6 is executed on Mono 2.6...). Mono is getting better and it shows on Gendarme too;

  2. The percentage changes shown are the one between 2.8 and 2.10 since I wanted to highlight the impact, even with the new rules, of using the new Cecil library. Obviously the update is a success performance wise too;

  3. All runs, except mono (2.0 default), are executed using the 'self-test' rule set. Before 2.10 that meant 'default' + Smells rules. Since 2.10 it means 'default' + Smells + Interoperability.Com + Gendarme (rules), i.e. everything except the new (3) nunit related rules.

  4. A direct comparison with the my earlier blog entry, between 2.0 and 2.2, is not easy. Way too many things changed in the last two years. However you can see that analyzing today's 101 assemblies from Mono 2.0 profile can be faster (e.g. self-test) than analyzing the 85 assemblies available two years ago. Yep the same hardware is being used to benchmark, but it was running an earlier release of openSUSE back then :-).

I'm slowly running out of ideas to continue this "more rules, more code, less time" trend much longer. In fact I only have two more in mind... but with out awesome new profiler I'm sure I'll come up with other ideas sooner than later.


1/24/2011 16:53:27 | Comments

The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of my employer.