Skip to content

Commit 1d8653f

Browse files
committed
WiP
1 parent 40c6fc3 commit 1d8653f

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ add_executable(speed_test speed_test.cpp
3636
memento/mashtable.h
3737
jump/jumpengine.h
3838
power/powerengine.h
39+
memento/mementoneshortcutengine.h
3940
)
4041

4142
add_executable(balance balance.cpp
@@ -48,6 +49,7 @@ add_executable(balance balance.cpp
4849
memento/mashtable.h
4950
jump/jumpengine.h
5051
power/powerengine.h
52+
memento/mementoneshortcutengine.h
5153
)
5254

5355
add_executable(mashtable_test mashtable_test.cpp memento/mashtable.h)

balance.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "jump/jumpengine.h"
2828
#include "power/powerengine.h"
2929
#include "memento/mementoneengine.h"
30+
#include "memento/mementoneshortcutengine.h"
3031
#include <fmt/core.h>
3132
#include <fstream>
3233
#include <unordered_map>
@@ -217,6 +218,10 @@ int main(int argc, char *argv[]) {
217218
return bench<MementoneEngine<boost::unordered_flat_map>>(
218219
"Mementone<boost::unordered_flat_map>", filename, anchor_set, working_set,
219220
num_removals, num_keys);
221+
} else if (algorithm == "mementoneshortcut") {
222+
return bench<MementoneShortcutEngine>(
223+
"MementoneShortcutEngine", filename, anchor_set, working_set,
224+
num_removals, num_keys);
220225
} else {
221226
fmt::println("Unknown algorithm {}", algorithm);
222227
return 2;

memento/memento.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class Memento final
9292
* the given bucket.
9393
*
9494
* @param bucket the bucket to search for
95-
* @return the replacing bucket if any, {@code std::nullopt} otherwise
95+
* @return the replacing bucket if any, {@code -1} otherwise
9696
*/
9797
int32_t replacer(int32_t bucket ) const noexcept {
9898
auto e = m_table.find(bucket);

speed_test.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "jump/jumpengine.h"
2121
#include "power/powerengine.h"
2222
#include "memento/mementoneengine.h"
23+
#include "memento/mementoneshortcutengine.h"
2324
#ifdef USE_PCG32
2425
#include "pcg_random.hpp"
2526
#include <random>
@@ -297,7 +298,11 @@ int main(int argc, char *argv[]) {
297298
return bench<MementoneEngine<boost::unordered_flat_map>>(
298299
"Mementone<boost::unordered_flat_map>", filename, anchor_set, working_set,
299300
num_removals, num_keys);
300-
} else {
301+
} else if (algorithm == "mementoneshortcut") {
302+
return bench<MementoneShortcutEngine>(
303+
"MementoneShortcutEngine", filename, anchor_set, working_set,
304+
num_removals, num_keys);
305+
}else {
301306
fmt::println("Unknown algorithm {}", algorithm);
302307
return 2;
303308
}

0 commit comments

Comments
 (0)