Я написал многопоточное приложение для оценки скорости выполнения LOCK CMPXCHG (x86 ASM).
На моей машине (двухъядерный - Core 2), с 2-мя запущенными потоками и доступом к одной переменной,Я могу выполнить около 40M операций в секунду.
Затем я дал каждому потоку уникальную переменную для работы.Очевидно, это означает, что между потоками нет конфликта блокировок, поэтому я ожидал увеличения производительности.Однако скорость не изменилась.Почему?