You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It might be possible to handle operations that are equivalent to 'nop's ('no operation', e.g. writing the same tuple in an ETS table, linking again to the same process) in a better way, dependency-wise. In the image above, "Interleaving 2" is not interesting (as the second ets:insert for y is a nop), but as explained here we need to keep the dependency with the ets:lookup to correctly reverse the read with the original read.
Perhaps this is more generally possible: 'nop's need not be reversed with ops that depend on their result, but should still happen-before such operations when they race with operations that are not nops.
Inspired by Delivering identical messages VS writing identical tuples in an ETS table.
It might be possible to handle operations that are equivalent to 'nop's ('no operation', e.g. writing the same tuple in an ETS table, linking again to the same process) in a better way, dependency-wise. In the image above, "Interleaving 2" is not interesting (as the second
ets:insert
fory
is a nop), but as explained here we need to keep the dependency with theets:lookup
to correctly reverse the read with the original read.Perhaps this is more generally possible: 'nop's need not be reversed with ops that depend on their result, but should still happen-before such operations when they race with operations that are not nops.
Source for the graph:
The text was updated successfully, but these errors were encountered: