В конце http://blog.memsql.com/common-pitfalls-in-writing-lock-free-algorithms/, Дэвид Столп показывает данные о производительности стека без блокировки, показывающие, что версия без блокировки работает медленнее, чем последовательная версия, защищенная мьютексом, даже при увеличении конкуренции. Результаты интересные, но меня беспокоят две вещи:
- В лучшем случае «общая пропускная способность» снижается, а затем выравнивается по мере увеличения количества потоков. Не должна ли общая пропускная способность увеличиваться по мере увеличения количества потоков?
- На итоговой диаграмме значения производительности для 1 потока варьируются примерно от 35 до 55 млн. Это кажется ужасно широким диапазоном для 1 потока (где не может быть никаких разногласий).
Я пытался найти способ связаться с автором по поводу этих проблем, но безуспешно, поэтому я обращаюсь к сообществу SO, чтобы узнать, кажутся ли результаты реалистичными. Они?