Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Remove ExtractWinInetValues function #4
Following the upgrade to the TraceEvent library, the ExtractWinInetValues function which did some custom parsing of various WinInet events appears to no longer be necessary. This is a very significant performance win because the objects being passed in are dynamically typed. It is the most expensive function in the exe, typically taking 50-60% of CPU time (measured after upgrading to the latest TraceEvent library).
In a separate branch (https://github.com/amiyagupta/wpt-etw/tree/examine-extract-wininet-values) I've added logging that compares fields before and after ExtractWinInetValues updates them and prints out stats before exiting. In the vast majority of cases the existing field is overwritten by an identical string. In the few cases where the before and after strings do not match, the original string is more correct than the one it is being replaced with.
All the cases where the before and after strings do not match fall into two categories:
Some example statistics I gathered while I had the version with logging running and browsing around a large number of popular websites: