Skip to content

Cache the list of xaml and resx headers to speedup VS project generation

Dmitry Kochkin requested to merge devcooch/cmake:cache-xaml-resx-headers into master

Hi!

I've realized that for our huge multi-repository project cmake on Windows runs significantly slower than on Linux. I've run it in standard VS2015 profiler just to check if there are low-hanging fruits. Surprisingly GetExpectedResxHeaders and GetExpectedXamlHeaders functions were consuming about 38% of whole CPU time. The reason is that they are triggered for each line when you need to put file inside vcxproj (and check whether it is XAML/RESX header) and they populate a list from scratch. So I decided to put it in static var to keep content cached. For our project the improvement with this change is from 4m44s to 4m12s.

Regards, Dmitry

Merge request reports