Poor performance when using Texas Instruments code generation
tools in Wine
Anders Rønningen
anders.ronningen at tandberg.net
Wed Feb 23 04:06:00 CST 2005
For starters, here is some more debug info on our case.
oprofilres.txt shows the results we got from oprofile on ntdll.dll.so
heaptrace.tar.gz contains a WINEDEBUG=+heap trace (as recommended). It
shows that the linker allocates many small blocks, typically 0x18 bytes.
We interrupted the linking before it was complete, but you should see a
pattern...
Regards,
Anders
On Tue, 2005-02-22 at 22:32 -0800, Dan Kegel wrote:
> Anders wrote:
> > 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.
>
> Wow, that's worth looking into!
>
> Can you write a small C program that has the same behavior?
> That would help us reproduce the problem and then solve it.
>
> Thanks,
> Dan
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: heaptrace.tar.gz
Type: application/x-compressed-tar
Size: 1525945 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20050223/cd42bb32/heaptrace.tar.bin
-------------- next part --------------
[root at localhost wine]# opreport -l ntdll.dll.so
CPU: CPU with timer interrupt, speed 0 MHz (estimated)
Profiling through timer interrupt
samples % symbol name
292675 99.6279 HEAP_FindFreeBlock
470 0.1600 HEAP_CreateFreeBlock
231 0.0786 HEAP_FindSubHeap
227 0.0773 RtlAllocateHeap
73 0.0248 HEAP_GetPtr
19 0.0065 HEAP_ShrinkBlock
19 0.0065 HEAP_ValidateInUseArena
18 0.0061 HEAP_IsRealArena
18 0.0061 RtlFreeHeap
12 0.0041 HEAP_MakeInUseBlockFree
3 0.0010 NtAllocateVirtualMemory
1 3.4e-04 VIRTUAL_FindView
1 3.4e-04 VIRTUAL_GetProt
1 3.4e-04 anonymous symbol from section .plt
More information about the wine-devel
mailing list