Skip to content

Instantly share code, notes, and snippets.

@soyayaos
Created February 20, 2015 16:10
Show Gist options
  • Save soyayaos/1a99df3bd46295fb2d3f to your computer and use it in GitHub Desktop.
Save soyayaos/1a99df3bd46295fb2d3f to your computer and use it in GitHub Desktop.
tcerl
-module(tctest).
-compile(export_all).
-define(TC0, 100).
-define(TC1, 1000000).
all()->
io:format("~p~n", [tc12()]),
io:format("~p~n", [tc21()]).
tc12()->
tc12(0, 0, 0).
tc21()->
tc21(0, 0, 0).
tc12(A, B, C) when A < ?TC0 ->
T1 = timer:tc(tctest, m1, [0]),
T2 = timer:tc(tctest, m2, [0]),
tc12(A+1, B+element(1, T1), C+element(1, T2));
tc12(A, B, C) when A =:= ?TC0 ->
{B, C}.
tc21(A, B, C) when A < ?TC0 ->
T1 = timer:tc(tctest, m2, [0]),
T2 = timer:tc(tctest, m1, [0]),
tc12(A+1, B+element(1, T1), C+element(1, T2));
tc21(A, B, C) when A =:= ?TC0 ->
{B, C}.
m1(Acc) when Acc < ?TC1 ->
m1(Acc+1);
m1(Acc) when Acc =:= ?TC1 ->
ok.
m2(Acc) when Acc < ?TC1 ->
m2(Acc+1);
m2(Acc) when Acc =:= ?TC1 ->
ok.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment