Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for May 23, 2013
An "enum" for Python 3
An unexpected perf feature
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
ConnMan 1.0 released
Posted May 11, 2012 12:35 UTC (Fri) by nix (subscriber, #2304)
(Seriously. I like most of glib, though it is a bit memory-inefficient for some uses -- but gobject is a classic example of overgeneralization yielding a system that, while quite general, is terrifically difficult to use for almost all practical use cases. This is a fairly common trap to fall into, so I'm not *blaming* anyone, or I'd have to blame myself for several even more baroque systems I've perpetrated in the past which thankfully have not got into the wide world. But still.)
Posted May 12, 2012 21:25 UTC (Sat) by speedster1 (subscriber, #8143)
> (Seriously. I like most of glib, though it is a bit memory-inefficient for
> some uses -- but gobject is a classic example of overgeneralization
> yielding a system that, while quite general, is terrifically difficult to
> use for almost all practical use cases.)
Thanks, this is a much more civil explanation of the issue than I could manage at this point, with deadlines looming for producing a couple custom plugins for the heavily-glib-based gstreamer framework. Straight-forward generation of language bindings is a wonderful feature of glib, but coding in the glibc based C code itself... I'd better stop there, before I get uncivil
Posted May 17, 2012 19:38 UTC (Thu) by zlynx (subscriber, #2285)
Isn't gobject that abomination that contains 5 or 6 pointers to mostly useless information and causes any data structure that uses it to immediately bloat to over 100 MB in size?
5 64-bit pointers is 40 bytes before even including any information.
That is how I remember it anyway. I was trying to figure out how some new version of software went from 5 MB of resident set to over 100 MB back when my laptop had only 1 GB RAM.
Posted May 22, 2012 10:20 UTC (Tue) by jamesh (guest, #1159)
The other pointer can point to a GData structure that will be allocated if you use various GObject features (e.g. weak references).
I won't deny that it adds some memory overhead over a bare structure, but it is for features people generally use.
Posted May 22, 2012 16:04 UTC (Tue) by zlynx (subscriber, #2285)
Posted May 23, 2012 1:42 UTC (Wed) by jamesh (guest, #1159)
But the point is moot in the context of ConnMan: while they aren't using GObject, they are using glibs ADTs such as GSList.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds