rocksdb/db/blob
Gang Liao c987eb4712 Eliminate the copying of blobs when serving reads from the cache (#10297)
Summary:
The blob cache enables an optimization on the read path: when a blob is found in the cache, we can avoid copying it into the buffer provided by the application. Instead, we can simply transfer ownership of the cache handle to the target `PinnableSlice`. (Note: this relies on the `Cleanable` interface, which is implemented by `PinnableSlice`.)

This has the potential to save a lot of CPU, especially with large blob values.

This task is a part of https://github.com/facebook/rocksdb/issues/10156

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

Reviewed By: riversand963

Differential Revision: D37640311

Pulled By: gangliao

fbshipit-source-id: 92de0e35cc703d06c87c5c1861cc2899ec52234a
2022-07-06 18:57:29 -07:00
..
blob_constants.h
blob_counting_iterator.h
blob_counting_iterator_test.cc
blob_fetcher.cc
blob_fetcher.h
blob_file_addition.cc
blob_file_addition.h
blob_file_addition_test.cc
blob_file_builder.cc
blob_file_builder.h
blob_file_builder_test.cc
blob_file_cache.cc
blob_file_cache.h
blob_file_cache_test.cc
blob_file_completion_callback.h
blob_file_garbage.cc
blob_file_garbage.h
blob_file_garbage_test.cc
blob_file_meta.cc
blob_file_meta.h
blob_file_reader.cc
blob_file_reader.h
blob_file_reader_test.cc
blob_garbage_meter.cc
blob_garbage_meter.h
blob_garbage_meter_test.cc
blob_index.h
blob_log_format.cc
blob_log_format.h
blob_log_sequential_reader.cc
blob_log_sequential_reader.h
blob_log_writer.cc
blob_log_writer.h
blob_read_request.h
blob_source.cc
blob_source.h
blob_source_test.cc
db_blob_basic_test.cc
db_blob_compaction_test.cc
db_blob_corruption_test.cc
db_blob_index_test.cc
prefetch_buffer_collection.cc
prefetch_buffer_collection.h