← ALB News · curated headline

[Перевод] 18 из 20 порядков ломают counter++, а 10 000 запусков на ноутбуке этого не показали

Habr · RU · Programming · 11/4/2026, 3:12:27 AM

Два потока выполняют counter++ по одному разу. Шаги можно чередовать 20 способами, и в 18 из них обновление теряется, но на простаивающем ноутбуке за 10 000 запусков такого не случилось ни разу, а с барьером на старте случилось 4 раза. Фарид Закария, работавший в AWS над RDS, замеряет на этой гонке, сколько порядков реально выполняет обычная машина, простаивающая и загруженная, и сколько их достаёт детерминированная виртуальная машина Rewind VM: под ней обновление теряется в 1371 запуске из 10 000 без барьера и в 2997 с барьером. Заодно он объясняет, почему тесты не видят баги, зависящие от расписания. Читать далее

Continue to Habr →

You are being forwarded in 6s — stay on this page