C:\test>for %t in (1,2,4,16,63,255) do @interlock %t 10000000 1 threads x 10000000 iterations of normal increment non-shared took 0.269178904 seconds 1 threads x 10000000 iterations of interlockedIncrement16() took 0.501895073 seconds 1 threads x 10000000 iterations of normal increment shared took 0.327297743 seconds 2 threads x 10000000 iterations of normal increment non-shared took 0.268091336 seconds 2 threads x 10000000 iterations of interlockedIncrement16() took 1.407993195 seconds 2 threads x 10000000 iterations of normal increment shared took 1.072541343 seconds 4 threads x 10000000 iterations of normal increment non-shared took 0.331791610 seconds 4 threads x 10000000 iterations of interlockedIncrement16() took 4.877205343 seconds 4 threads x 10000000 iterations of normal increment shared took 4.260821138 seconds 16 threads x 10000000 iterations of normal increment non-shared took 1.172022981 seconds 16 threads x 10000000 iterations of interlockedIncrement16() took 19.987548697 seconds 16 threads x 10000000 iterations of normal increment shared took 17.639230964 seconds 63 threads x 10000000 iterations of normal increment non-shared took 4.423643228 seconds 63 threads x 10000000 iterations of interlockedIncrement16() took 78.821976536 seconds 63 threads x 10000000 iterations of normal increment shared took 69.604602540 seconds 255 threads x 10000000 iterations of normal increment non-shared took 17.773377901 seconds 255 threads x 10000000 iterations of interlockedIncrement16() took 320.197832965 seconds 255 threads x 10000000 iterations of normal increment shared took 282.370355450 seconds C:\test>interlock 1023 1000000 1023 threads x 1000000 iterations of normal increment non-shared took 7.115383938 seconds 1023 threads x 1000000 iterations of interlockedIncrement16() took 127.386793294 seconds 1023 threads x 1000000 iterations of normal increment shared took 112.850957873 seconds