You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Peter Dillinger
f4e4039f00
Add some more bit operations to internal APIs ( #11660 )
...
Summary:
BottomNBits() - there is a single fast instruction for this on x86 since BMI2, but testing with godbolt indicates you need at least GCC 10 for the compiler to choose that instruction from the obvious C++ code. https://godbolt.org/z/5a7Ysd41h
BitwiseAnd() - this is a convenience function that works around the language flaw that the type of the result of x & y is the larger of the two input types, when it should be the smaller. This can save some ugly static_cast.
I expect to use both of these in coming HyperClockCache developments, and have applied them in a couple of places in existing code.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/11660
Test Plan: unit tests added
Reviewed By: jowlyzhang
Differential Revision: D47935531
Pulled By: pdillinger
fbshipit-source-id: d148c43a1e51df4a1c549b93aaf2725a3f8d3bd6
2 years ago
..
cache.cc
HyperClockCache support for SecondaryCache, with refactoring ( #11301 )
2 years ago
cache_bench.cc
Add (& fix) some simple source code checks ( #8821 )
3 years ago
cache_bench_tool.cc
Some small improvements to HyperClockCache ( #11601 )
2 years ago
cache_entry_roles.cc
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
cache_entry_roles.h
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
cache_entry_stats.h
Simplify tracking entries already in SecondaryCache ( #11299 )
2 years ago
cache_helpers.cc
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
cache_helpers.h
Put Cache and CacheWrapper in new public header ( #11192 )
2 years ago
cache_key.cc
Put Cache and CacheWrapper in new public header ( #11192 )
2 years ago
cache_key.h
Derive cache keys from SST unique IDs ( #10394 )
3 years ago
cache_reservation_manager.cc
Simplify tracking entries already in SecondaryCache ( #11299 )
2 years ago
cache_reservation_manager.h
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
cache_reservation_manager_test.cc
Print stack traces on frozen tests in CI ( #10828 )
2 years ago
cache_test.cc
Add hash_seed to Caches ( #11391 )
2 years ago
charged_cache.cc
HyperClockCache support for SecondaryCache, with refactoring ( #11301 )
2 years ago
charged_cache.h
HyperClockCache support for SecondaryCache, with refactoring ( #11301 )
2 years ago
clock_cache.cc
Even more HyperClockCache refactoring ( #11630 )
2 years ago
clock_cache.h
Add some more bit operations to internal APIs ( #11660 )
2 years ago
compressed_secondary_cache.cc
Integrate CacheReservationManager with compressed secondary cache ( #11449 )
2 years ago
compressed_secondary_cache.h
Integrate CacheReservationManager with compressed secondary cache ( #11449 )
2 years ago
compressed_secondary_cache_test.cc
Integrate CacheReservationManager with compressed secondary cache ( #11449 )
2 years ago
lru_cache.cc
Prepare for specialized interface for row cache ( #11620 )
2 years ago
lru_cache.h
Add hash_seed to Caches ( #11391 )
2 years ago
lru_cache_test.cc
Some small improvements to HyperClockCache ( #11601 )
2 years ago
secondary_cache.cc
Simplify tracking entries already in SecondaryCache ( #11299 )
2 years ago
secondary_cache_adapter.cc
Update secondary_cache_adapter.cc ( #11566 )
2 years ago
secondary_cache_adapter.h
Integrate CacheReservationManager with compressed secondary cache ( #11449 )
2 years ago
sharded_cache.cc
Add some more bit operations to internal APIs ( #11660 )
2 years ago
sharded_cache.h
Add hash_seed to Caches ( #11391 )
2 years ago
typed_cache.h
HyperClockCache support for SecondaryCache, with refactoring ( #11301 )
2 years ago