.NET Matters: False Sharing

As one example, the code in Figure 4 shows a version of this code that doesn't suffer from the same problem. Instead, it allocates a bunch of extra Random instances between those that we care about, thus ensuring that the ones we do care about are far enough apart so as to not be subject to false sharing (at least on this machine). For our tests, this updated version produced significantly better results, running up to six times faster than the code from Figure 3 on our dual-core test machine.


http://msdn.microsoft.com/en-us/magazine/cc872851.aspx

0 komentarze:

Prześlij komentarz

 
Tomasz Kulig