Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- They could cut ~42% of excess CPU usage by not doing what their documentation says not to do (calling QueryPerformanceFrequency
- more than once). One could hope this would cut run time by that much.
- Their supersedence function is un-optimized, now that we have more supersedence than in the past (see KB3035583 & KB2952664, no SP2)
- this poorly optimized function is causing havoc.
- Called recursively, 20+ layers deep:
- wuaueng.dll!CUpdatesToPruneList::AddSupersedenceInfoIfNeeded calls
- wuaueng.dll!CUpdateDetectInfoList::FindNewestUpdate calls
- wuaueng.dll!CSusMap::_tagMapEntry::_tagMapEntry which finaly calls
- ntdll.dll!RtlQueryPerformanceFrequency
- "QueryPerformanceFrequency retrieves the frequency of the performance counter. The frequency of the performance counter is fixed at
- system boot and is consistent across all processors. Therefore, the frequency need only be queried upon application initialization,
- and the result can be cached." – Microsoft
- They called this function about 3,270,000 times during the 2 hour check for updates. Microsoft says "Only call this once,
- it won't change between boots", Microsoft calls it 3.27 MILLION times. Windows update is slow.
- I can only imagine what other possible improvements to optimization that aren't this blatantly
- obvious could do for the update check speed.
Advertisement
Add Comment
Please, Sign In to add comment