summaryrefslogtreecommitdiff
path: root/test/samples/multi_limiter.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/samples/multi_limiter.exs')
-rw-r--r--test/samples/multi_limiter.exs69
1 files changed, 37 insertions, 32 deletions
diff --git a/test/samples/multi_limiter.exs b/test/samples/multi_limiter.exs
index f56cb6c..0936773 100644
--- a/test/samples/multi_limiter.exs
+++ b/test/samples/multi_limiter.exs
@@ -1,49 +1,54 @@
infinite = 1_000_000_000_000_000_000_000_000_000_000_000_000_000_000_000
-parallel = case Integer.parse(System.get_env("PARALLEL", "")) do
- {int, _} -> int
- _ -> System.schedulers_online()/2
-end
-multi_count = case Integer.parse(System.get_env("MULTI", "")) do
- {int, _} -> int
- _ -> parallel
-end
+parallel =
+ case Integer.parse(System.get_env("PARALLEL", "")) do
+ {int, _} -> int
+ _ -> System.schedulers_online() / 2
+ end
+
+multi_count =
+ case Integer.parse(System.get_env("MULTI", "")) do
+ {int, _} -> int
+ _ -> parallel
+ end
-names = fn(prefix) ->
+names = fn prefix ->
for i <- 1..multi_count do
Module.concat(MultiConcurrentLimiterBenchmark, "#{prefix}#{i}")
end
end
+bench_unique =
+ for name <- names.("u") do
+ ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, name, []})
+ name
+ end
-bench_unique = for name <- names.("u") do
- ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, name, []})
- name
-end
-
-IO.inspect(bench_unique)
-
-bench_atomics = for name <- names.("a") do
- ConcurrentLimiter.new(name, infinite, 0, backend: :atomics)
- name
-end
+bench_atomics =
+ for name <- names.("a") do
+ ConcurrentLimiter.new(name, infinite, 0, backend: :atomics)
+ name
+ end
-bench_shared = for name <- names.("s") do
- ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, ConcurrentLimiterTest, []})
- name
-end
+bench_shared =
+ for name <- names.("s") do
+ ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, ConcurrentLimiterTest, []})
+ name
+ end
rw = [{:read_concurrency, true}, {:write_concurrency, true}]
-bench_unique_rw = for name <- names.("u_rw") do
- ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, name, rw})
- name
-end
+bench_unique_rw =
+ for name <- names.("u_rw") do
+ ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, name, rw})
+ name
+ end
-bench_shared_rw = for name <- names.("s_rw") do
- ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, ConcurrentLimiterTestRW, rw})
- name
-end
+bench_shared_rw =
+ for name <- names.("s_rw") do
+ ConcurrentLimiter.new(name, infinite, 0, backend: {:ets, ConcurrentLimiterTestRW, rw})
+ name
+ end
multiple = %{
"ConcurrentLimiter.limit/2 unique ets" => fn ->