An introduction to lockless algorithms
An introduction to lockless algorithms
Posted Feb 23, 2021 1:06 UTC (Tue) by rgmoore (✭ supporter ✭, #75)In reply to: An introduction to lockless algorithms by excors
Parent article: An introduction to lockless algorithms
It's perfectly acceptable for there to be no ordering between them (except where the axioms say there must be an ordering).
From a practical standpoint, it's not just acceptable for there to be no ordering; it's actually desirable for performance. If you can divide up your program into separate tasks that don't have ordering constraints between them, you can run those tasks however makes the best performance sense. This has been the key to all kinds of modern performance advances, like out of order execution, multiprocessing, and what have you. Those things all depend on being able to break up tasks into parts that can be run in different orders. It's the need to synchronize that slows things down.