Даже с однопоточным кодом последнее может иметь преимущество, если объект находится в памяти копирования на запись (например, личное сопоставление файла или почти любая записываемая память после вилки). Я подозреваю, что преимущество, о котором вы просите, тоже реально, по крайней мере, в таких системах, как x86, где согласованность памяти обрабатывается автоматически. На таких машинах запись в память, которая может находиться в кеше другого процессора, приведет к аннулированию кешированной копии (фактически всей строки кэша). Просто чтение не принесет никакого вреда. Конечно, если это память, которая потенциально может быть изменена и разделена несколькими потоками, она должна быть защищена механизмами синхронизации в любом случае, а затем вы, вероятно, потеряете большинство или все преимущества.
Когерентность кэша имеет некоторые затраты, также как и предсказание ветвления (с использованием другого кеша). Вы торгуете один за другим - это победа или потеря? Кто знает. –