Re: [Vala] Vala vs Mono performance benchmark project



Il giorno mer, 23/02/2011 alle 01.17 +0000, Aleksander Wabik ha scritto:
I've made a patch against vala git for getting this directly with valac
(but only when it's possible), please test it http://go.3v1n0.net/euaIxh
and let me know how it works for you ;)

Hi Marco,

I appreciate your patch - it is really good and I can't wait for it
included in mainline Vala :) I've at last tested it. It gives
significant speedup, on my computer it's like 1.025 to 0.86.

Cool!
I hope it will get included too (this and the others I've sent in the
bugzilla), but in these days Jurg told me that was so much busy for
rewieving patches, so maybe we should wait longer!

As I can see in the patch description, there are significant
limitations. If the class comes from external vapi, old style (calling
signal by name) will be used. Maybe some attributes can be used to
control this? So for example:

- each signal ID is in the object's Type structure, and has some name,
  unless some attribute is used,
- CCode has_signal_id=false can be set in vapis on bindings to external
  libraries to indicate, that the particular signal's ID is not stored
  in the Type,

Yes, but this could cuse problems if Vala would change the way to call a
signal_id...

- maybe some CCode signal_id_name="foo" can be used to control how is
  the ID named in the Type struct?

This could be better.

- maybe even something like CCode
  signal_id_path="Namespace.[int|Class.static_member]" to be able to
  store signal ID anywhere you like?


Nice ideas, however I'd suggest to put them in the bug report too, so
they could be more visible to developers.

Maybe there are also other things to consider? My contribution to Vala
is only in testing existing features; I reported a few bugs, but I
never dug in Vala compiler's code or in gobject, so I'm just giving
some random ideas now.

Well, it's quite easy working with vala code... You can try yourself! :)

best regards, and thanks for this patch once more :)

Thank you for the report!





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]