Poor performance when using Texas Instruments code generation tools in Wine

Mike Hearn mh at codeweavers.com
Tue Feb 22 08:30:48 CST 2005


On Tue, 22 Feb 2005 12:52:33 +0100, Anders Rønningen wrote:
> We have done some profiling using oprofile, and found that most of this 
> time (96%) is spent in the HEAP_FindFreeBlock* *function in the ntdll 
> module. The time needed to locate a free heap block increases gradually, 
> from a few iterations up to about 15000 in the project we are building. 
> We suspect that this may be due to fragmentation caused by the heap 
> allocate/free algorithms.

That is quite possible. You can get a dump of the heap by doing a +heap
trace, so there must be a function somewhere that generates it. Just
trigger that when HeapFree gets too slow and see what it looks like.

You might (*might*) be able to get a feel for this by hacking the code to
use glibcs malloc/free instead of our own heap implementation (but
only when accessing the process heap). I do not know what might break if
you do that. Doug Leas malloc may or may not be higher performance than
ours.

thanks -mike




More information about the wine-devel mailing list