From da177cd8dd0000f5fb1451f0f39ebfd4125b68f7 Mon Sep 17 00:00:00 2001 From: Gregory Burd Date: Sun, 19 May 2013 10:49:55 -0400 Subject: [PATCH] Renamed to lmdb. --- c_src/stats.h | 10 ++++-- rebar | Bin 119018 -> 0 bytes rebar.config | 4 +-- src/lmdb.erl | 90 +++++++++++++++++++++++++++++++++++++++++--------- 4 files changed, 84 insertions(+), 20 deletions(-) delete mode 100755 rebar diff --git a/c_src/stats.h b/c_src/stats.h index 4f3009f..4fa574b 100644 --- a/c_src/stats.h +++ b/c_src/stats.h @@ -128,9 +128,13 @@ static unsigned int __log2_64(uint64_t x) { { \ uint8_t logs[64]; \ uint8_t i, j, max_log = 0; \ - double m = (s->mean + name ## _stat_mean(s) / 2.0); \ + double m = 0.0; \ \ - fprintf(stderr, "%s:async_nif request latency histogram:\n", mod); \ + if (s->n < nsamples) \ + return; \ + \ + fprintf(stderr, "\n%s:async_nif request latency histogram:\n", mod); \ + m = (s->mean + name ## _stat_mean(s) / 2.0); \ for (i = 0; i < 64; i++) { \ logs[i] = LOG2(s->histogram[i]); \ if (logs[i] > max_log) \ @@ -145,7 +149,7 @@ static unsigned int __log2_64(uint64_t x) { fprintf(stderr, logs[j] >= i ? "•" : " "); \ fprintf(stderr, "\n"); \ } \ - if (max_log == 0) { \ + if (max_log == 100) { \ fprintf(stderr, "[empty]\n"); \ } else { \ fprintf(stderr, " ns μs ms s ks\n"); \ diff --git a/rebar b/rebar deleted file mode 100755 index 44053a5a5324960ff3cc25eccaf5b716d470dcf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119018 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 z 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 io:format(user, Str, Args) end, P)). -endif. -include_lib("eunit/include/eunit.hrl"). @@ -80,8 +80,8 @@ include_lib("eqc/include/eqc.hrl"). %% @doc Create a new MDB database %% @end %%-------------------------------------------------------------------- -open(DirName) -> - open(DirName, ?MDB_MAP_SIZE). +%open(DirName) -> +% open(DirName, ?MDB_MAP_SIZE). open(DirName, MapSize) when is_integer(MapSize) andalso MapSize > 0 -> @@ -171,20 +171,21 @@ not_loaded(Line) -> %% =================================================================== -ifdef(TEST). --define(TEST_DATA_DIR, "test/basics"). - -open_test_db(DataDir) -> +open_test_db() -> {ok, CWD} = file:get_cwd(), - Path = filename:join([CWD, DataDir]), - ?cmd("rm -rf " ++ Path), - ?assertMatch(ok, filelib:ensure_dir(filename:join([Path, "x"]))), - {ok, Handle} = ?MODULE:open(Path), + DataDir = filename:join([CWD, "test", "eunit"]), + ?cmd("rm -rf " ++ DataDir), + ?assertMatch(ok, filelib:ensure_dir(filename:join([DataDir, "x"]))), + {ok, Handle} = ?MODULE:open(DataDir, 2147483648), + [?MODULE:upd(Handle, crypto:sha(<>), + crypto:rand_bytes(crypto:rand_uniform(128, 4096))) || + X <- lists:seq(1, 100)], Handle. basics_test_() -> {setup, fun() -> - open_test_db(?TEST_DATA_DIR) + open_test_db() end, fun(Handle) -> ok = ?MODULE:close(Handle) @@ -193,16 +194,16 @@ basics_test_() -> {inorder, [{"open and close a database", fun() -> - Handle = open_test_db(Handle) + Handle = open_test_db() end}, {"create, then drop an empty database", fun() -> - Handle = open_test_db(Handle), + Handle = open_test_db(), ?assertMatch(ok, ?MODULE:drop(Handle)) end}, {"create, put an item, get it, then drop the database", fun() -> - Handle = open_test_db(Handle), + Handle = open_test_db(), ?assertMatch(ok, ?MODULE:put(Handle, <<"a">>, <<"apple">>)), ?assertMatch(ok, ?MODULE:put(Handle, <<"b">>, <<"boy">>)), ?assertMatch(ok, ?MODULE:put(Handle, <<"c">>, <<"cat">>)), @@ -216,4 +217,63 @@ basics_test_() -> ]} end}. +-ifdef(EQC). + +qc(P) -> + ?assert(eqc:quickcheck(?QC_OUT(P))). + +keys() -> + eqc_gen:non_empty(list(eqc_gen:non_empty(binary()))). + +values() -> + eqc_gen:non_empty(list(binary())). + +ops(Keys, Values) -> + {oneof([put, delete]), oneof(Keys), oneof(Values)}. + +apply_kv_ops([], _Handle, Acc0) -> + Acc0; +apply_kv_ops([{put, K, V} | Rest], Handle, Acc0) -> + ok = ?MODULE:put(Handle, K, V), + apply_kv_ops(Rest, Handle, orddict:store(K, V, Acc0)); +apply_kv_ops([{del, K, _} | Rest], Handle, Acc0) -> + ok = case ?MODULE:del(Handle, K) of + ok -> + ok; + not_found -> + ok; + Else -> + Else + end, + apply_kv_ops(Rest, Handle, orddict:store(K, deleted, Acc0)). + +prop_put_delete() -> + ?LET({Keys, Values}, {keys(), values()}, + ?FORALL(Ops, eqc_gen:non_empty(list(ops(Keys, Values))), + begin + {ok, CWD} = file:get_cwd(), + DataDir = filename:join([CWD, "test", "eqc"]), + ?cmd("rm -rf " ++ DataDir), + ok = filelib:ensure_dir(filename:join([DataDir, "x"])), + {ok, Handle} = ?MODULE:open(DataDir, 2147483648), + try + Model = apply_kv_ops(Ops, Handle, []), + + %% Validate that all deleted values return not_found + F = fun({K, deleted}) -> + ?assertEqual(not_found, ?MODULE:get(Handle, K)); + ({K, V}) -> + ?assertEqual({ok, V}, ?MODULE:get(Handle, K)) + end, + lists:map(F, Model), + true + after + ?MODULE:close(Handle) + end + end)). + +prop_put_delete_test_() -> + {timeout, 3*60, fun() -> qc(prop_put_delete()) end}. + +-endif. -endif.