[{name, "R16B async-threads:0"}, {summary, [{avg,3540307.4},
{stddev,57870.82022781429},
{min,3485352},
{max,3620480}]}, {details, [3620480,
3510523,
3485352,
3486023,
3599159]}].
[{name, "R16B async-threads:4"}, {summary, [{avg,3554938.6},
{stddev,27788.99938176976},
{min,3525254},
{max,3598165}]}, {details, [3598165,
3571298,
3525903,
3554073,
3525254]}].
[{name, "R15B01 async-threads:0"}, {summary, [{avg,988024.0},
{stddev,5657.500826336661},
{min,982552},
{max,996927}]}, {details, [996927,
985344,
982552,
982992,
992305]}].
[{name, "R15B01 async-threads:4"}, {summary, [{avg,983087.2},
{stddev,4695.029857200058},
{min,976180},
{max,988886}]}, {details, [987625,
988886,
976180,
980275,
982470]}].
[{name, "R14B03 async-threads:0"}, {summary, [{avg,790603.8},
{stddev,21405.434799601713},
{min,755043},
{max,819714}]}, {details, [755043,
791333,
819714,
802467,
784462]}].
[{name, "R14B03 async-threads:0"}, {summary, [{avg,741706.2},
{stddev,8959.760474476981},
{min,735944},
{max,759469}]}, {details, [759469,
735944,
735947,
738484,
738687]}].
NOTE: Informal benchmark written in a few spare minutes.
Each tests consisted of 5 runs of 1 million messages in each run. Test machine is a 2.7ghz Core i7 2011 MBP.
I could replicate the results on my end.
I could also fix the issue by setting the async thread pool to 0 in R16 (with
+A0
as an argument toerl
-- The OTP team set the default to 10 in R16). There is likely some overhead to the default async thread pool that shows up in synthetic benchmarks, but proves really useful in real world scenarios.