After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 367869 - All operation class_init() routines are called once per node.
All operation class_init() routines are called once per node.
Status: RESOLVED FIXED
Product: GEGL
Classification: Other
Component: general
git master
Other All
: Normal minor
: ---
Assigned To: Default Gegl Component Owner
Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2006-10-30 19:40 UTC by Kevin Cozens
Modified: 2006-11-01 23:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kevin Cozens 2006-10-30 19:40:37 UTC
While tracking down an issue in the svg-load operation I noticed that its class_init() routine was being called multiple times while processing XML files. This was seen while doing a make in the gallery even though the svg-load operation wasn't used in most of the XML files. The number of times the routine is being called while processing an XML file seems to relate to the number of nodes listed in the XML file.
Comment 1 Øyvind Kolås (pippin) 2006-10-30 19:46:18 UTC
g_type_from_op_class in gegl/gegl-node.c which probably should be renamed to have the proper prefix. Shoudl be changed to cache the first traversal of the type tree in a static GSlist, which is used for both the first and subsequent lookups, thus avoiding instantiating the class structure for every registered operation every time a type is set.
Comment 2 Øyvind Kolås (pippin) 2006-11-01 23:16:02 UTC
Using a GHashTable made more sense. Fixed in CVS.