In my computer this code takes 17 seconds (1000 millions times):
static void Main(string[] args) { var sw = new Stopwatch(); sw.Start(); int r; for
The answer is probably that nobody has thought this a priority - it's good enough. The fact that this has not been fixed with any new version of the .NET Framework is an indicator of how rarely this is used - most likely, nobody has ever complained.