Opened 6 years ago

Closed 6 years ago

Last modified 6 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

Description

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 Changed 6 years ago by Even Rouault

Milestone: 1.8.1
Resolution: fixed
Status: newclosed

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

comment:2 Changed 6 years ago by Even Rouault

Cc: rprinceley added

rprinceley,

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 Changed 6 years ago by rprinceley

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.