On Sat, 2009-08-01 at 17:42 +0200, Łukasz Pankowski wrote:
> Another performance related usage of the weak variables (apart from one
> you mentioned in the bug comment #3) is that properties return weak
> variables so the values are copied unless assigned to the weak variable
> (as in the code below) and here "weak t = a.str" shortcut would also be
> convenient.
>
>
> class Foo {
> public string str { get; set; }
> }
>
> void main ()
> {
> Foo a = new Foo();
>
> // uses g_strdup to duplicate the string
> var s = a.str;
> // no duplication needed
> weak string t = a.str;
> }
Strings in vala are immutable value objects. If you are in need of a
mutable (cow) reference counted string implementation, that would
certainly be possible, although I doubt that the end result would
perform better than current situation. It's not like in C++ for example,
where you could optimize by inlining certain critical parts.
The discussion about property getters might interest you too:
http://mail.gnome.org/archives/vala-list/2008-December/msg00144.html
Regards,
Hans
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list