rocksdb/tools
Peter Dillinger 0f91c72adc Call experimental new clock cache HyperClockCache (#10684)
Summary:
This change establishes a distinctive name for the experimental new lock-free clock cache (originally developed by guidotag and revamped in PR https://github.com/facebook/rocksdb/issues/10626). A few reasons:
* We want to make it clear that this is a fundamentally different implementation vs. the old clock cache, to avoid people saying "I already tried clock cache."
* We want to highlight the key feature: it's fast (especially under parallel load)
* Because it requires an estimated charge per entry, it is not drop-in API compatible with old clock cache. This estimate might always be required for highest performance, and giving it a distinct name should reduce confusion about the distinct API requirements.
* We might develop a variant requiring the same estimate parameter but with LRU eviction. In that case, using the name HyperLRUCache should make things more clear. (FastLRUCache is just a prototype that might soon be removed.)

Some API detail:
* To reduce copy-pasting parameter lists, etc. as in LRUCache construction, I have a `MakeSharedCache()` function on `HyperClockCacheOptions` instead of `NewHyperClockCache()`.
* Changes -cache_type=clock_cache to -cache_type=hyper_clock_cache for applicable tools. I think this is more consistent / sustainable for reasons already stated.

For performance tests see https://github.com/facebook/rocksdb/pull/10626

Pull Request resolved: https://github.com/facebook/rocksdb/pull/10684

Test Plan: no interesting functional changes; tests updated

Reviewed By: anand1976

Differential Revision: D39547800

Pulled By: pdillinger

fbshipit-source-id: 5c0fe1b5cf3cb680ab369b928c8569682b9795bf
2022-09-16 12:47:29 -07:00
..
advisor
block_cache_analyzer Add some missing headers (#10519) 2022-08-11 12:45:50 -07:00
dump
analyze_txn_stress_test.sh
auto_sanity_test.sh
backup_db.sh
benchmark.sh Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
benchmark_ci.py CI benchmarks refine configuration (#10514) 2022-08-25 09:47:03 -07:00
benchmark_compare.sh CI benchmarks refine configuration (#10514) 2022-08-25 09:47:03 -07:00
benchmark_leveldb.sh
blob_dump.cc
check_all_python.py
check_format_compatible.sh Post 7.6 branch cut changes (#10546) 2022-08-21 20:42:12 -07:00
CMakeLists.txt
db_bench.cc
db_bench_tool.cc Call experimental new clock cache HyperClockCache (#10684) 2022-09-16 12:47:29 -07:00
db_bench_tool_test.cc
db_crashtest.py Call experimental new clock cache HyperClockCache (#10684) 2022-09-16 12:47:29 -07:00
db_repl_stress.cc
db_sanity_test.cc Migrate to docker for CI run (#10496) 2022-08-10 17:34:38 -07:00
dbench_monitor
Dockerfile
generate_random_db.sh
ingest_external_sst.sh
io_tracer_parser.cc
io_tracer_parser_test.cc
io_tracer_parser_tool.cc
io_tracer_parser_tool.h
ldb.cc
ldb_cmd.cc Sync dir containing CURRENT after RenameFile on CURRENT as much as possible (#10573) 2022-08-29 17:35:21 -07:00
ldb_cmd_impl.h
ldb_cmd_test.cc Migrate to docker for CI run (#10496) 2022-08-10 17:34:38 -07:00
ldb_test.py
ldb_tool.cc
pflag
reduce_levels_test.cc Migrate to docker for CI run (#10496) 2022-08-10 17:34:38 -07:00
regression_test.sh regression_test.sh: kill very old db_bench (and more) (#10441) 2022-08-02 09:16:17 -07:00
restore_db.sh
rocksdb_dump_test.sh
run_blob_bench.sh
run_flash_bench.sh
run_leveldb.sh
sample-dump.dmp
simulated_hybrid_file_system.cc
simulated_hybrid_file_system.h
sst_dump.cc
sst_dump_test.cc
sst_dump_tool.cc
trace_analyzer.cc
trace_analyzer_test.cc
trace_analyzer_tool.cc fix trace_analyzer_tool args column position (#10576) 2022-08-26 08:44:52 -07:00
trace_analyzer_tool.h
verify_random_db.sh
write_external_sst.sh
write_stress.cc
write_stress_runner.py