[Bug 16061] New: HEAP_FindSubHeap taking excessive CPU time

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Nov 14 17:08:34 CST 2008


http://bugs.winehq.org/show_bug.cgi?id=16061

           Summary: HEAP_FindSubHeap taking excessive CPU time
           Product: Wine
           Version: 1.1.5
          Platform: Other
        OS/Version: other
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P2
         Component: ntdll
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: jburgess777 at googlemail.com


Created an attachment (id=17290)
 --> (http://bugs.winehq.org/attachment.cgi?id=17290)
oprofile output and analysis

I'm a developer of a utility called osm2pgsql which parses the XML map data
produced by the OpenStreetMap project. Normally this tool runs on Linux but I
recently compiled a version for Windows using MinGW and ran it with Wine as a
test. It ran, but was very slow.

The execution time for the application is about 90 seconds for the Linux native
version vs 78 minutes with the Windows binary executing under Wine. A user has
reported that it takes about 5 minutes to run natively on Windows but I do not
know what hardware that was and have not measured it myself.

Running oprofile identified HEAP_FindSubHeap() as being responsible for over
75% of the CPU total usage. The application allocates memory for lots of small
objects and strings so a large number of calls to malloc/free is to be
expected, but not the slow performance.

This may ultimately be a duplicate of bug 9263 but I figured this may be an
interesting data point for you. It looks like optimising the linear list search
in HEAP_FindSubHeap may be a useful performance win for Wine.

I'll attach the oprofile output. If you are interested in this as a test case
then I can probably produce a simplified standalone executable exhibiting the
same behaviour.


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list