更新頻度を適当に変えて実験
freq が大きいほど contention がすくない
freq=1000 | freq=100 | freq=50 | freq=10 | |
nolock | 0.832747s | 0.790571s | 0.891002s | 1.2104s |
atomic | 0.848725s | 0.808765s | 0.89208s | 1.69423s |
spinlock | 0.79804s | 0.837177s | 0.888937s | 1.42289s |
spinlock(HLE) | 0.814412s | 0.880151s | 0.988107s | 2.35058s |
TSX(intrin) | 0.846314s | 0.944928s | 3.10261s | 16.8716s |
mutex(TSX) | 0.830258s | 1.02248s | 2.5822s | 13.6253s |
__transaction_atomic | 0.876435s | 1.36938s | 3.3362s | 19.3114s |
mutex | 0.841379s | 1.62795s | 3.5786s | 20.8202s |
spinlock はここのやつを使わせていただきました
HLE が遅いのは write しかしてないからですかね