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.620.5920,556273  18% 20% 71% 3%
5,000,0004.714.7023,064273  1% 2% 97% 3%
50,000,00041.6141.6121,720273  0% 1% 1% 100%

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 18 [erts-7.0] [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, 16 Jul 2015 17:26:21 GMT

MAKE:
mv threadring.hipe threadring.erl
/usr/local/src/otp_src_18.0/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_18.0/bin/erl -smp enable -noshell -run  threadring main 50000000

PROGRAM OUTPUT:
292

Revised BSD license

  Home   Conclusions   License   Play