On 20/06/2022 22:58, David Holmes wrote:

Thread.onSpinWait _is_ busy-waiting, but it may (depending on architecture) actually execute a more (power) efficient form of busy-wait.

The takeaway from this exercise is that loops with sleeps can't always be replaced by loops that busy-wait. Functionally the logic is the same, but you can't just ignore the concurrency aspects.
Right, and in this case I don't think a busy wait would be very efficient as it would require a very high max spin count. To date Peter's exponential back-off has worked well and it's rare to hear about OOME cases caused by code that that is allocating direct buffers for single use. In time, I assume we will see more code using the new FFM API which can support deterministic memory release.

-Alan

Reply via email to