Skip to content

Commit

Permalink
spdb memtable: add a new hash-based memtable
Browse files Browse the repository at this point in the history
This memtable supports concurrent readers and writers and provides much
better results for insertions and point selections than the skip list
memtable, while maintaining more tolerable iteration performance than the
built-in RocksDB hash-based memtable.
  • Loading branch information
ayulas authored and Yuval-Ariel committed Nov 23, 2022
1 parent 943c3ab commit ff885a5
Show file tree
Hide file tree
Showing 7 changed files with 1,149 additions and 0 deletions.
3 changes: 3 additions & 0 deletions memtable/stl_wrappers.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ struct Compare : private Base {
inline bool operator()(const char* a, const char* b) const {
return compare_(a, b) < 0;
}
inline bool operator()(const char* a, const Slice& b) const {
return compare_(a, b) < 0;
}
};

}
Expand Down
18 changes: 18 additions & 0 deletions plugin/speedb/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright (C) 2022 Speedb Ltd. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set(speedb_SOURCES
speedb_registry.cc
memtable/hash_spd_rep.cc)

set(speedb_FUNC register_SpeedbPlugins)
Loading

0 comments on commit ff885a5

Please sign in to comment.