performance measurements

Each table row shows performance measurements for this Erlang HiPE program with a particular command-line input value N.

 N  CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
500,0001.000.98805,024273  42% 8% 9% 49%
5,000,0004.654.64800,080273  1% 89% 2% 10%
50,000,00041.0541.05801,964273  97% 1% 3% 2%

Read the ↓ make, command line, and program output logs to see how this program was run.

Read thread-ring benchmark to see what this program should do.

 notes

Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

 thread-ring Erlang HiPE program source code

% The Computer Language Benchmarks Game
% http://benchmarksgame.alioth.debian.org/
%%% Contributed by Jiri Isa
%%% optimized run time options by shun shino

-module(threadring).
-export([main/1, roundtrip/2]).

-define(RING, 503).

start(Token) ->
   H = lists:foldl(
      fun(Id, Pid) -> spawn(threadring, roundtrip, [Id, Pid]) end, 
      self(), 
      lists:seq(?RING, 2, -1)),
   H ! Token,
   roundtrip(1, H).

roundtrip(Id, Pid) ->
   receive
      1 ->
         io:fwrite("~b~n", [Id]),
         erlang:halt();
      Token ->
         Pid ! Token - 1,
         roundtrip(Id, Pid)
   end.

main([Arg]) ->
   Token = list_to_integer(Arg),
   start(Token).

 make, command-line, and program output logs

Thu, 27 Nov 2014 02:06:49 GMT

MAKE:
mv threadring.hipe threadring.erl
/usr/local/src/otp_src_17.3/bin/erlc +native +"{hipe, [o3]}" threadring.erl
rm threadring.erl
0.56s to complete and log all make actions

COMMAND LINE:
/usr/local/src/otp_src_17.3/bin/erl -smp enable -noshell -run +t 8192 +ec +K true +P 50000000 +hmbs 1 +hms 4 +sss 4 threadring main 50000000

PROGRAM OUTPUT:
292

Revised BSD license

  Home   Conclusions   License   Play