http://bugs.winehq.org/show_bug.cgi?id=3817
------- Additional Comments From rob@codeweavers.com 2006-30-07 18:03 ------- Using oprofile, I generated a list of all of the functions using over 1% of the time in the applicate: 407955 20.6001 ntdll.dll.so RtlUpcaseUnicodeString 309817 15.6445 libwine.so.1 wine_cp_wcstombs 218996 11.0584 ntdll.dll.so RtlIsNameLegalDOS8Dot3 198561 10.0265 libwine.so.1 wine_utf8_mbstowcs 118514 5.9845 ntdll.dll.so RtlUpcaseUnicodeStringToCountedOemString 90594 4.5746 ntdll.dll.so wine_nt_to_unix_file_name 74824 3.7783 ntdll.dll.so RtlUnicodeToOemN 58600 2.9591 libwine.so.1 memicmpW 54659 2.7601 ntdll.dll.so ntdll_umbstowcs 45692 2.3073 ole32.dll.so StorageImpl_GetNextBlockInChain 43063 2.1745 ntdll.dll.so RtlUnicodeStringToOemSize 35359 1.7855 ntdll.dll.so hash_short_file_name 26010 1.3134 ole32.dll.so StorageUtl_ReadDWord 25451 1.2852 ntdll.dll.so .plt 24873 1.2560 ntdll.dll.so find_free_area 21688 1.0952 libwine.so.1 tolowerW
As can be seen, RtlUpcaseUnicodeString is the top CPU user which is likely being called by the file or loader code.