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,0000.980.94534,012273  0% 57% 16% 34%
5,000,0005.415.37533,924273  90% 4% 3% 7%
50,000,00047.2247.23534,148273  0% 1% 99% 1%

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] [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

Wed, 26 Nov 2014 21:15:23 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.50s 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