Loading
Commits on Source 8
-
Christian Hergert authored
-
Christian Hergert authored
In my contrived test case here, this gets object inflation overhead down by about 50%. Personally, if I were doing this all over again from scratch, I would go in a very different direction. But lets see how much better we can make this without having to resort to a new ABI.
-
Christian Hergert authored
This is helpful so that we don't see all those deprecated warnings everywhere. Yeah we should move away from those when we bump GLib requirement, but no not now.
-
Christian Hergert authored
Realistically we could also shove this in private class data but might as well avoid that for now.
-
Christian Hergert authored
Instead use a union that lets us switch bewteen the GParameter array and the item resource. Keep track of how many parameters we have in there too. Optimize the inflation of groups by finding the mappings once and then using that instead of column iteration. Avoid a lot of GTypeClass ref'ing as well. Only look up the quark data once per mapped parameter too. We keep an extra GParameter at the end so that we can avoid copying the GParameter for inflation somewhere else. We just add the repository at the end of it before constructing/replacing the inflated instance.
-
Christian Hergert authored
Weak pointers are *extremely* slow in GObject and we don't really need to use that anyway. We really don't have a good multi-threaded story here, but I'm using a GMutex around the repository just to try to keep things up with whatever they were before naturally in add_weak_pointer(). There is a lot of unsafe things that can happen once you start threading anyway.
-
Christian Hergert authored
This release contains numerous performance improvements based on usage from 0.5.0.
-
Jeremy Bícha authored