From f87f4ee855c60432f889090e35f3175413f72378 Mon Sep 17 00:00:00 2001 From: Dillon Date: Fri, 24 Jul 2026 08:44:02 -0700 Subject: [PATCH] Relax memory ordering for parallel loop iteration --- slinky/base/thread_pool_impl.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slinky/base/thread_pool_impl.cc b/slinky/base/thread_pool_impl.cc index 3b6fdf11..9e7e61a1 100644 --- a/slinky/base/thread_pool_impl.cc +++ b/slinky/base/thread_pool_impl.cc @@ -44,7 +44,7 @@ void thread_pool_impl::task_impl::destroy() { std::size_t thread_pool_impl::task_impl::shard::work(task_body& body) { std::size_t done = 0; while (true) { - std::size_t i = this->i++; + std::size_t i = this->i.fetch_add(1, std::memory_order_relaxed); if (i >= end) { // There are no more iterations to run. break;