https://pastebin.com/CmnzwUFN The key idea is to avoid using 16 byte NEON and use 8 byte NEON which has lower latency for BitMask::Match. Even though 16 byte NEON achieves higher throughput, in SwissMap it's very important to catch these Matches with low latency as probing on average happens at most once. I also introduced NonIterableMask as ARM has really great cbnz instructions and additional AND on scalar mask had 1 extra latency cycle PiperOrigin-RevId: 453216147 Change-Id: I842c50d323954f8383ae156491232ced55aacb78
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| internal | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| attributes.h | Loading commit data... | |
| bit_cast_test.cc | Loading commit data... | |
| call_once.h | Loading commit data... | |
| call_once_test.cc | Loading commit data... | |
| casts.h | Loading commit data... | |
| config.h | Loading commit data... | |
| config_test.cc | Loading commit data... | |
| const_init.h | Loading commit data... | |
| dynamic_annotations.h | Loading commit data... | |
| exception_safety_testing_test.cc | Loading commit data... | |
| inline_variable_test.cc | Loading commit data... | |
| inline_variable_test_a.cc | Loading commit data... | |
| inline_variable_test_b.cc | Loading commit data... | |
| invoke_test.cc | Loading commit data... | |
| log_severity.cc | Loading commit data... | |
| log_severity.h | Loading commit data... | |
| log_severity_test.cc | Loading commit data... | |
| macros.h | Loading commit data... | |
| optimization.h | Loading commit data... | |
| optimization_test.cc | Loading commit data... | |
| options.h | Loading commit data... | |
| policy_checks.h | Loading commit data... | |
| port.h | Loading commit data... | |
| raw_logging_test.cc | Loading commit data... | |
| spinlock_test_common.cc | Loading commit data... | |
| thread_annotations.h | Loading commit data... | |
| throw_delegate_test.cc | Loading commit data... |