Re: [Vala] Vala vs Mono performance benchmark project
- From: "Andrés G. Aragoneses" <knocte gmail com>
- To: vala-list gnome org
- Subject: Re: [Vala] Vala vs Mono performance benchmark project
- Date: Sat, 19 Feb 2011 18:51:01 +0100
On 30/01/11 19:55, Aleksander Wabik wrote:
Hi All,
I've prepared a little benchmark measuring Vala object system
performance ( http://gitorious.org/vala-object-benchmarks )
- object creation and destruction
- method, virtual method, interface method, signal, delegate, delegate
from a closure calling times
- type checking
- threading locks
This benchmark is not intended to measure general performance (we have
vala benchmarks in http://code.google.com/p/vala-benchmarks/ for this),
but just to measure object system performance. From what I've seen:
- type checking 2 times slower than in Mono
- threading (locks) in vala beats mono easily - 19 seconds vs 50
seconds!!
- object creation/destruction suck
- setting/reading property or field beat Mono easily, but I think it's
the matter of compiler optimization; but in classes inheriting from
GObject setters are very expensive (due to issuing a signal)
- calling methods, virtual methods, delegates, lambdas - vala beats
mono, but slightly
- interface methods, signals - we really suck, and there's no excuse
for this. I guess that it can't be fixed in glib, but in dova...?
- ref/unref - we really suck
- weak ref/unref - we beat Mono easily, I guess that even if the
pointer assignment was not optimized out by a compiler we'd do this.
Mono is surprisingly bad at this.
I guess that at least some of the vala performance drawbacks can be
fixed in dova, as it's a total redesignment of the object system,
true?
If some of you would like to add some benchmarks / fix something in the
existing ones, please do this, and have fun with the code that I made ;)
best regards,
Hey Alex, any chance you could summarize your results in more concrete
numbers? Something like:
- type checking:
Vala(default): +200%time(slower). Vala(dova): +50%time(slower).
- threading
Vala(default): -200%time(faster). Vala(dova): -250%time(faster).
Thanks.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]