Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#3961 closed defect (fixed)

Performance problem when serializing huge color tables / metadata to VRT/PAM

Reported by: Even Rouault Owned by: Even Rouault
Priority: normal Milestone: 1.8.1
Component: GDAL_Raster Version: unspecified
Severity: normal Keywords:
Cc: epifanio, rprinceley


A loop with CPLCreateXMLNode( psParent, CXT_Element, "text" ) has quadratic performance due to CPLCreateXMLNode() iterating over the children to find the last one. The solution is to maintain the last child and add the new node to it directly.

Change History (3)

comment:1 by Even Rouault, 13 years ago

Milestone: 1.8.1
Resolution: fixed
Status: newclosed

Fixed in trunk (r21713) and in branches/1.8 (r21714)

comment:2 by Even Rouault, 13 years ago

Cc: rprinceley added


about your revert in r21810, do the following change fix by chance your issue ? you didn't say much of what was broken exactly. A repeated gdalinfo -hist on a .img file (without internal statistics) just showed AREA_OR_POINT=Area or LAYER_TYPE=athematic appearing twice due to being stored both in the .img and in the .aux.xml, but the histogram itself looked unaffected by this.

r21811 /trunk/gdal/gcore/gdalmultidomainmetadata.cpp: Fix r21714, that could cause metadata keys to be duplicated (#3961)

r21812 /branches/1.8/gdal/gcore/gdalmultidomainmetadata.cpp: Fix r21714, that could cause metadata keys to be duplicated (#3961)

comment:3 by rprinceley, 13 years ago

Thanks for pointing out related changesets. I have pulled in these changes, will have it tested again. Our problem should be fixed by r21812 (it was due to duplicate skip factor nodes).

Note: See TracTickets for help on using tickets.