To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=115684
                 Issue #|115684
                 Summary|svl: performance regression in SfxItemPool
               Component|framework
                 Version|DEV300m92
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|mst
             Reported by|mst





------- Additional comments from m...@openoffice.org Fri Nov 19 16:39:42 +0000 
2010 -------
lla alerted me to a regression in performance that was introduced in m92
and is apparently caused by the svarray CWS:
storing the performance test document in writer is 9% slower on linux, 20%
slower on windows.

fortunately the documents written by m90 and by svarray are not different,
so it is not caused by writing wrong stuff.

so i investigated with callgrind:
storing the document takes #cycles (or whatever callgrind counts):
m90:      5,335,595,338
svarray: 6,336,979,732

looking at the profile with kcachegrind i found something very surprising.
the SfxItemPool::Remove() and SfxItemPool::Put() methods are much slower.
numbers for SfxItemPool::Remove():
m90:      167 million
svarray: 643 million
(Put() is similar)

the difference is almost entirely due to the operator++ of the iterator
of the deque that holds the items.
this takes 408 million cycles in svarray.

then i replaced the deque with a vector, and the number for
SfxItemPool::Remove() was:
188 million

so it's almost as fast as before.

it's very surprising that the deque iterator is so slow;
in further changes we should check if vector is sufficient and only use
deque if both ends of the container are manipulated.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@framework.openoffice.org
For additional commands, e-mail: issues-h...@framework.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org

Reply via email to