From f09e514d30e4895ab334c5e8e171444a497638fe Mon Sep 17 00:00:00 2001 From: Greg Burd Date: Thu, 18 Jul 2024 05:07:20 -0400 Subject: [PATCH] more fixes --- rebar.config | 2 +- src/hanoidb.hrl | 2 +- src/hanoidb_load.erl | 23 ++++++++++++----------- tools/visualize-hanoi.sh | 10 +++++----- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/rebar.config b/rebar.config index 102e716..13074a5 100644 --- a/rebar.config +++ b/rebar.config @@ -4,7 +4,7 @@ {eunit_opts, [verbose, {report, {eunit_surefire, [{dir, "."}]}}]}. {erl_opts, [%{d,'DEBUG',true}, - {d,'USE_EBLOOM',false}, + %{d,'USE_EBLOOM',true}, fail_on_warning, warn_unused_vars, warn_export_all, diff --git a/src/hanoidb.hrl b/src/hanoidb.hrl index 28d32a8..d749637 100644 --- a/src/hanoidb.hrl +++ b/src/hanoidb.hrl @@ -24,7 +24,7 @@ %% smallest levels are 1024 entries --define(TOP_LEVEL, 10). +-define(TOP_LEVEL, 8). -define(BTREE_SIZE(Level), (1 bsl (Level))). -define(FILE_FORMAT, <<"HAN2">>). -define(FIRST_BLOCK_POS, byte_size(?FILE_FORMAT)). diff --git a/src/hanoidb_load.erl b/src/hanoidb_load.erl index 2765e24..d20b1e8 100644 --- a/src/hanoidb_load.erl +++ b/src/hanoidb_load.erl @@ -5,17 +5,17 @@ run(Dir) -> case hanoidb:open(filename:join(Dir, "test.hanoidb"), []) of {error, Reason} -> {error, Reason}; - {ok, Tree} -> fill_db_timed(Tree, 5 * 60 * 1000) + {ok, Tree} -> fill_db_timed(Tree, 15 * 60 * 1000) end. -fill_db(Tree) -> fill_db(Tree, 5000). -fill_db(Tree, 0) -> hanoidb:close(Tree); -fill_db(Tree, N) -> - Letter = N rem 26 + $a, - Length = rand:uniform(100), - Key = << <> || _ <- lists:seq(0, Length) >>, - ok = hanoidb:put(Tree, Key, Key), - fill_db(Tree, N - 1). +%% fill_db(Tree) -> fill_db(Tree, 5000). +%% fill_db(Tree, 0) -> hanoidb:close(Tree); +%% fill_db(Tree, N) -> +%% Letter = N rem 26 + $a, +%% Length = rand:uniform(100), +%% Key = << <> || _ <- lists:seq(0, Length) >>, +%% ok = hanoidb:put(Tree, Key, Key), +%% fill_db(Tree, N - 1). fill_db_timed(Tree, Timeout) -> erlang:send_after(Timeout, self(), stop), @@ -26,9 +26,10 @@ fill_db_loop(Tree, N) -> stop -> ok after 0 -> + Key = crypto:strong_rand_bytes(2000), Letter = N rem 26 + $a, Length = rand:uniform(100), - Key = << <> || _ <- lists:seq(0, Length) >>, - ok = hanoidb:put(Tree, Key, Key), + Value = << <> || _ <- lists:seq(0, Length) >>, + ok = hanoidb:put(Tree, Key, Value), fill_db_loop(Tree, N+1) end. diff --git a/tools/visualize-hanoi.sh b/tools/visualize-hanoi.sh index 3616974..64ae297 100755 --- a/tools/visualize-hanoi.sh +++ b/tools/visualize-hanoi.sh @@ -48,13 +48,13 @@ function periodic() { } merge_diff() { - SA=`/bin/ls -l A-${ID}.data 2> /dev/null | awk '{print $5}'` - SB=`/bin/ls -l B-${ID}.data 2> /dev/null | awk '{print $5}'` - SX=`/bin/ls -l X-${ID}.data 2> /dev/null | awk '{print $5}'` + SA=`stat -c %s A-${ID}.data 2> /dev/null` + SB=`stat -c %s B-${ID}.data 2> /dev/null` + SX=`stat -c %s X-${ID}.data 2> /dev/null` if [ \( -n "$SA" \) -a \( -n "$SB" \) -a \( -n "$SX" \) ]; then - export RES=`expr ${SX}0 / \( $SA + $SB \)` + export RES=`expr ${SX:-0} / \( $SA + $SB \)` else - export RES="?" + export RES="⌂" fi }