Il giorno sab, 15/01/2011 alle 20.30 +0000, Aleksander Wabik ha scritto: > > There are other relevant reasons to choose Vala over > > C#, but speed is not one of them. :) > > This is... very sad.
I agree :( > On the other hand, it should be strongly encouraged to generate such code > by the compiler. Why use g_type_create_instance()? Yes, it's helluva > reusable, you can create any typed class instance with it. And lose the > performance contest badly. But the compiler (valac) COULD generate a > function for each class, a function that would create instance of such > class by (for example) just allocating memory and memsetting it with > an "newly created class of such type" template. We need per-class > specific creation functions anyway, they're called constructors. This would help a lot I guess, also looking at the stats, I also think that maybe could be created however a new typed object compatible with GType (soo keeping compatibility with many glib features) too simulating some roles of g_type_create_instance, but reducing its computation (I mean using a "light version" of that). > Other thing: why delete objects when refcounting drops to 0? Let's > maintain a queue of some size (maybe tweakable by a class attribute) of > objects that will be just re-initialized when operator new is called? > This is a matter of general design. This could be a cool optimization, but as shown also in other posts of the thread, this is not the operation that slows down the most our classes... I thing that the allocation seems to be the bad monster here. _______________________________________________ vala-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/vala-list
