Tidy up Mutex::[Reader]TryLock codegen by outlining slow path and non-tail function call, and un-unrolling the loop. Current codegen: https://gist.githubusercontent.com/dvyukov/a4d353fd71ac873af9332c1340675b60/raw/226537ffa305b25a79ef3a85277fa870fee5191d/gistfile1.txt New codegen: https://gist.githubusercontent.com/dvyukov/686a094c5aa357025689764f155e5a29/raw/e3125c1cdb5669fac60faf336e2f60395e29d888/gistfile1.txt name old cpu/op new cpu/op delta BM_TryLock 18.0ns ± 0% 17.7ns ± 0% -1.64% (p=0.016 n=4+5) BM_ReaderTryLock/real_time/threads:1 17.9ns ± 0% 17.9ns ± 0% -0.10% (p=0.016 n=5+5) BM_ReaderTryLock/real_time/threads:72 9.61µs ± 8% 8.42µs ± 7% -12.37% (p=0.008 n=5+5) PiperOrigin-RevId: 567006472 Change-Id: Iea0747e71bbf2dc1f00c70a4235203071d795b99
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| internal | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| barrier.cc | Loading commit data... | |
| barrier.h | Loading commit data... | |
| barrier_test.cc | Loading commit data... | |
| blocking_counter.cc | Loading commit data... | |
| blocking_counter.h | Loading commit data... | |
| blocking_counter_benchmark.cc | Loading commit data... | |
| blocking_counter_test.cc | Loading commit data... | |
| lifetime_test.cc | Loading commit data... | |
| mutex.cc | Loading commit data... | |
| mutex.h | Loading commit data... | |
| mutex_benchmark.cc | Loading commit data... | |
| mutex_method_pointer_test.cc | Loading commit data... | |
| mutex_test.cc | Loading commit data... | |
| notification.cc | Loading commit data... | |
| notification.h | Loading commit data... | |
| notification_test.cc | Loading commit data... |