Poor performance when using Texas Instruments code generation tools
anders.ronningen at tandberg.net
Tue Feb 22 05:52:33 CST 2005
We have some performance problems with Wine that we could use some help on..
Here's the story:
We have been using TI code generation tools (compiler and linker) on
Wine, and it has worked well. However, when we started evaluating newer
versions of the codegen tools, the linking time was dramatically
increased (from 20 sec to 30 minutes...).
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
We do not have the same problem when building the code under Windows, so
we tried to use the native ntdll.dll from Windows instead of
ntdll.dll.so, hoping that this would solve the performance issue. We are
aware that this is not recommended, but wanted to give it a try anyway.
We added the dll file to the global dll-override section in the config
file under ~/.wine/config, but it seems like Wine just looks for the
builtin dll. We see from strace that we access the correct config file
at startup. Is override of ntdll not supported, or have we missed
something? If it is supported, is it likely that it is going to work?
We have read some posts in the newsgroup about the heap issues. It seems
that people agree that the heap should be improved, either by tweaking
the existing code, or by using another heap implementation. Is any work
planned on this?
Regards / Mvh - Anders Rønningen
Phone: +47 67 125 125
Direct: +47 67 838 584
Mobile: +47 97 791 217
Fax: +47 67 125 234
mailto:anders.ronningen at tandberg.net
More information about the wine-devel