The granularity of the performance timers were too specific, allowing the number of cores to be deduced by the amount of time it took to do certain math functions.
Those certain math functions happen to be floating point operations that are ordered in a way to maximize the inaccuracy property off floating point types.
Those certain math functions happen to be floating point operations that are ordered in a way to maximize the inaccuracy property off floating point types.
These inaccuracies are very correlatable.