Hello,

could you run the benchmark with the following parameters which enable
some compiletime optimizations?

$ valac bench.vala --save-temps -v --Xcc="-O3"
--Xcc="-DG_DISABLE_CHECKS" --Xcc="-DG_DISABLE_ASSERT"
--Xcc="-DG_DISABLE_CAST_CHECKS" --Xcc="-march=native"

- fabian

Am Freitag, den 14.01.2011, 17:28 +0100 schrieb Marco Trevisan
(Treviño):
> I'm doing some benchmarks with Vala, but I found that its performances
> aren't so great as I expected when a class is used, and mostly when it's
> allocated/referenced multiple times...
> 
> Consider, for example, the simple example attached... The source simply
> allocates many TestObject's, referencing them in varius ways, and then
> freeing them after some time. Maybe it's not perfect, but it does what I
> wanted.
> 
> However, also if the created object is very simple Vala with the gobject
> profile it's quite slow.
> 
> In fact, also if with the results can't be compared to the hand-written
> C attached code (I've written it fastly, maybe it has errors :P),
> comparing Vala+Gobject and Vala+Dova underlines some differences:
> 
> |     N       |  Vala-Gobject  |   Vala-Dova  | Handwritten C | Mono C#  |
> |-------------+----------------+--------------+--------------------------|
> |   5000000   |     2.367s     |    0.952s    |    0.310s     |  0.404s  |
> |-------------+----------------+--------------+---------------+----------|
> |   50000000  |     24.224s    |    10.152s   |    3.169s     |  3.662s  |
> |-------------+----------------+--------------+---------------+----------|
> |  100000000  |     48.402s    |    20.364s   |    6.126s     |  7.112s  |
> |------------------------------------------------------------------------|
> 
> Now, the C code can't be beaten, of course, but if you compare the
> Gobject profile to the Dova one (also if it's immature), there's a great
> performance gap!
> 
> And this gobject slowness is underlined in other more complex
> benchmarks, compared to Dova too...
> 
> I guess that a gobject structure is really more complex compared to the
> ones defined by Dova (or by simple C), but if Vala has these
> performances, due to GObject mamangement, even the (evil) Mono C# seems
> to be better (code attached, ported from the Vala syntax).
> 
> So, how to improve this? Is really everything related to gobject or is
> it also Vala which has responsibilities in this?
> _______________________________________________
> vala-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/vala-list


_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to