diff options
Diffstat (limited to 'test/samples/update_counter.exs')
-rw-r--r-- | test/samples/update_counter.exs | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/test/samples/update_counter.exs b/test/samples/update_counter.exs index 1768735..6310c57 100644 --- a/test/samples/update_counter.exs +++ b/test/samples/update_counter.exs @@ -1,19 +1,20 @@ :ets.new(:limiter_bench, [:public, :named_table]) +:ets.new(:limiter_bench_concurrent, [:public, :named_table, {:read_concurrency, false}, {:write_concurrency, true}]) +atomics = :atomics.new(1, []) -Benchee.run( +update_counter = %{ "ets:update_counter" => fn -> :ets.update_counter(:limiter_bench, "bench", {2, 1}, {"bench", 0}) - end - }, - parallel: 1 -) - -Benchee.run( - %{ - "ets:update_counter" => fn -> + end, + "ets:update_counter concurrent" => fn -> :ets.update_counter(:limiter_bench, "bench", {2, 1}, {"bench", 0}) - end - }, - parallel: System.schedulers_online() -) + end, + "atomics:add_get" => fn -> + :atomics.add_get(atomics, 1, 1) + end, + } + +Benchee.run(update_counter, parallel: 1) +Benchee.run(update_counter, parallel: System.schedulers_online()) + |