View Issue Details

IDProjectCategoryView StatusLast Update
0002764ScribusInternalpublic2005-11-30 20:05
ReporterringercAssigned Toringerc 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86 LinuxOSFedora CoreOS Version3
Product Version1.3.2cvs 
Fixed in Version1.3.2cvs 
Summary0002764: Opening a gzipped doc with new encoding-correct readSla(...) takes FOREVER
DescriptionThe new encoding-correct readSLA(...) is extremely slow when reading gzipped docs. It looks like it's getting hung up in QCString::append(...) and/or QCString::operator+= , probably due to excessive memory allocations.
TagsNo tags attached.
Patch

Relationships

related to 0002761 closedfschmid Slow moving large vector groups - profiling data 

Activities

cbradney

2005-11-06 22:07

administrator   ~0007363

This might be the same reason that PDF export is now unreasonably slow.

ringerc

2005-11-07 06:48

reporter   ~0007367

The problem is a specific issue with one method, FileLoader::readSLA(...) , that is only called by scribusXml.cpp and fileloader.cpp during the reading of .sla.gz files from disk. As such, I don't see how it could affect PDF export.

It's possible that if something has changed in PDF export to use a QCString or QByteArray in an append loop then the same underlying issue exists with PDF export. I'm not aware of any such change - AFAIK it still (ab)uses QString, which internally optimises allocations, to store its byte strings.

cbradney

2005-11-07 07:37

administrator   ~0007368

Hmm, yes. Its slow, however I checked, and 1.3.0 is slow too. I have a few const QString&s to go into parameters in PDF export but it doesnt seem to change much, however avox says his profiler shows the QString constructor and destructor to be a major time factor, as well as the compress2 function called from compressStr in util.cpp.

plinnell

2005-11-30 20:05

viewer   ~0007593

*much* better now

Issue History

Date Modified Username Field Change
2005-10-26 02:29 ringerc New Issue
2005-10-26 02:32 ringerc Relationship added related to 0002761
2005-11-06 22:07 cbradney Note Added: 0007363
2005-11-07 06:48 ringerc Note Added: 0007367
2005-11-07 07:37 cbradney Note Added: 0007368
2005-11-27 20:27 ringerc Status assigned => resolved
2005-11-27 20:27 ringerc Fixed in Version => 1.3.2cvs
2005-11-27 20:27 ringerc Resolution open => fixed
2005-11-30 20:05 plinnell Status resolved => closed
2005-11-30 20:05 plinnell Note Added: 0007593