Bruce Dawson (currently at Google on the Chrome team; formerly at Valve, Microsoft, and others) has blogged another example of Windows 10 performance regressions – this time in CreateProcess. He was assigned to investigate why Windows 7 out-performed Windows 10 in a set of Chromium unit tests by about 5x. Profiling execution showed that 98.4% of CPU time was spent in the MiCopyToCfgBitMap function of ntoskrnl, which is logic that is related to the security feature, Control Flow Guard. The result is that creating processes in big executables suffers from a quadratic slowdown.

To be clear, this sort of issue happens frequently. When performance scales non-linearly (in a bad way) to the size of your data set, its cost is sometimes masked in the background noise during your expected workload. If it turns out that conditions can exist that stress it, then it’s not a gradual process – it becomes a wall. It will be interesting to see when (and if) Microsoft gets around to patching it, however.