Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Loading big projects on windows is extreamly slow

<< < (3/5) > >>

oBFusCATed:
Which tab is this info coming from? Seems to be "bottom something".
Why is this API so slow for you?
Do you see matching times if you switch the "CPU Time" column from percentages to actual time (right click in the column)?

oBFusCATed:
Can someone else report the time on his/her windows machine?

Miguel Gimenez:
Loading the project with C::B in output31 directory:


--- Code: ---ProjectManager::LoadProject took: 38.701 seconds.
--- End code ---

The devel31 one:


--- Code: ---ProjectManager::LoadProject took: 40.413 seconds.
--- End code ---

When using VTune with the devel31 executable:

Bottom-up

--- Code: ---Function / Call Stack CPU Time Module Function (Full) Source File Start Address
NtOpenFile 9.435s ntdll.dll NtOpenFile [Unknown] 0x4b2f1a20
NtQueryDirectoryFileEx 7.939s ntdll.dll NtQueryDirectoryFileEx [Unknown] 0x4b2f2b10
NtClose 5.195s ntdll.dll NtClose [Unknown] 0x4b2f17c0
NtQueryAttributesFile 4.033s ntdll.dll NtQueryAttributesFile [Unknown] 0x4b2f1ac0
LoadLibraryExW 3.281s KernelBase.dll LoadLibraryExW [Unknown] 0x1010f9f0
func@0x71a3ea30 2.285s COMCTL32.DLL func@0x71a3ea30 [Unknown] 0x71a3ea30
NtQueryInformationFile 2.113s ntdll.dll NtQueryInformationFile [Unknown] 0x4b2f17e0
NtCreateFile 1.624s ntdll.dll NtCreateFile [Unknown] 0x4b2f1c40
NtYieldExecution 1.600s ntdll.dll NtYieldExecution [Unknown] 0x4b2f1b50
NtUserMsgWaitForMultipleObjectsEx 1.454s win32u.dll NtUserMsgWaitForMultipleObjectsEx [Unknown] 0x10005860
wxFileName::GetPath 0.894s wxmsw314u_gcc_custom.dll wxFileName::GetPath(int, wxPathFormat) const [Unknown] 0x64e82900

--- End code ---

Top-down Tree

--- Code: ---Function Stack CPU Time: Total CPU Time: Self Module Function (Full) Source File Start Address
NtOpenFile 17.0% 9.435s ntdll.dll NtOpenFile [Unknown] 0x4b2f1a20
NtQueryDirectoryFileEx 14.3% 7.939s ntdll.dll NtQueryDirectoryFileEx [Unknown] 0x4b2f2b10
NtClose 9.4% 5.195s ntdll.dll NtClose [Unknown] 0x4b2f17c0
NtQueryAttributesFile 7.3% 4.033s ntdll.dll NtQueryAttributesFile [Unknown] 0x4b2f1ac0
LoadLibraryExW 5.9% 3.281s KernelBase.dll LoadLibraryExW [Unknown] 0x1010f9f0
func@0x71a3ea30 4.1% 2.285s COMCTL32.DLL func@0x71a3ea30 [Unknown] 0x71a3ea30
NtQueryInformationFile 3.8% 2.113s ntdll.dll NtQueryInformationFile [Unknown] 0x4b2f17e0
NtCreateFile 2.9% 1.624s ntdll.dll NtCreateFile [Unknown] 0x4b2f1c40
NtYieldExecution 2.9% 1.600s ntdll.dll NtYieldExecution [Unknown] 0x4b2f1b50
NtUserMsgWaitForMultipleObjectsEx 2.6% 1.454s win32u.dll NtUserMsgWaitForMultipleObjectsEx [Unknown] 0x10005860
wxFileName::GetPath 1.6% 0.894s wxmsw314u_gcc_custom.dll wxFileName::GetPath(int, wxPathFormat) const [Unknown] 0x64e82900

--- End code ---

GetLongPathNameW only took 81 ms

C::B head
wxWidgets 3.1.4 32 bits
Windows 10 20H2 64 bits
i7-8700K @ 3.7 GHz
SSD disk

oBFusCATed:
Top-down is mostly useless view. Callers and callees is a lot better. Ideally generating flame-graphs is the most presentable way, but unfortunately there is no native way to do it with vtune.

@Miguel Gimenez: Are you using debug (-Og/-O0) or release (-O2/-O3) build of wx?

oBFusCATed:
Also if you want to have meaningful profiles you need to build everything with optimizations (-O2 or higher), symbols (-g), and no stripping (no -s or calls to strip).

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version