Packages

Various BEAM benchmarks in one place

Current section

Files

Jump to
beam_benchmarks src benchutil ets.hrl
Raw

src/benchutil/ets.hrl

-define(READ_CONCURRENCY_VERSION, "R14B").
-define(WRITE_CONCURRENCY_VERSION, "R13B02").
supports_ets_concurrency(Version) ->
FunErlangVersionGreaterEqual =
fun([X1|_] = X, [Y1|_] = Y) ->
case {X1, Y1} of
{A, A} -> X >= Y;
{$R, _} -> false;
{_, $R} -> true;
{_, _} -> X >= Y % for versions > 19
end
end,
ReadConc = FunErlangVersionGreaterEqual(Version, ?READ_CONCURRENCY_VERSION),
WriteConc = FunErlangVersionGreaterEqual(Version, ?WRITE_CONCURRENCY_VERSION),
{ReadConc, WriteConc}.
%supports_ets_read_concurrency(Version) ->
% {X, _} = supports_ets_concurrency(Version),
% X.
%supports_ets_write_concurrency(Version) ->
% {_, X} = supports_ets_concurrency(Version),
% X.