teste(1) ->
{ok, [Data]} = file:consult("mkList1.txt"),
{Time1, T} = timer:tc(lists, map, [fun lists:sort/1,Data]),
{Time2, R} = timer:tc(lib_misc, pmap, [fun lists:sort/1,Data]),
{Time1, T, Time2, R}.
Which format should I use to convert microseconds into seconds?
{Time1, T/1000000}
Return
1.0e-6
Thanks
./cenapad.erl:53: syntax error before: Nano
Thanks
2010/11/10 Reza Moussavi <reza.m...@gmail.com>:
> --
> Erlang Programming Website:
> http://www.erlangprogramming.org/
--
Tenha um melhor amigo.Preserve seu direito a vida. Isso é lei.
Art. 2º - Aquele que, em lugar público ou privado, aplicar ou fizer
aplicar maus tratos aos animais, incorrerá em multa de Cr$.. e na pena
de prisão celular de 2 a 15 dias, quer o delinqüente seja ou não o
respectivo proprietário, sem prejuízo da ação civil que possa caber.
Decreto Lei nº 24645/34.
Visite:
-module(teste).
-export([tests/1, fib/1]).
-import(lists, [map/2]).
-import(lib_misc, [pmap/2]).
%% A função tests ([N]), será a função usada como parãmetro, onde N é
o número de shedulers (número de processadores)
tests([N]) ->
Nsched = list_to_integer(atom_to_list(N)),
run_tests(1, Nsched).
%% run_tests é a função de retorno
run_tests(N, Nsched) ->
case test(N) of
stop ->
ok;
Val ->
io:format("~p.~n ",[{Nsched, Val}]),
run_tests(N+1, Nsched)
end.
%% Esta função irá gerar uma sequência de 100 listas cada uma contendo
100 números inteiros randômicos e calcula o tempo de execução de um
sort usando map e em seguida pmap
test(1) ->
{ok, [L]} = file:consult("mkList1.txt"),
{Time2, S2} = timer:tc(lib_misc, pmap, [fun(X) -> lists:sort(X) end, L]),
{sort, Time2};
%% Aqui é gerada uma lista de 100 elementos número 27 “L =
[27,27,27,..]” utilizada para calcular os números de fibonacci
calculando também o tempo utilizado usando map e pmap.
test(2) ->
L = lists:duplicate(100, 27),
{Time2, S2} = timer:tc(lib_misc, pmap, [fun ptests:fib/1, L]),
{fib, Time2};
test(3) ->
stop.
%% Cálculo dos numerous de fibonacci
fib(0) -> 1;
fib(1) -> 1;
fib(N) -> fib(N-1) + fib(N-2).
Nano = fun (A) when A > 1.0e+6 -> {trunc(A / 1.0e6),sec};
(A) when A > 1000 -> {trunc(A / 1000),milliSec};
(A) -> {A,nanoSec} end.
Thanks
2010/11/11 Reza Moussavi <reza.m...@gmail.com>:
Function name have to start with lower case of course.
--
--Hynek (Pichi) Vychodil
Analyze your data in minutes. Share your insights instantly. Thrill
your boss. Be a data hero!
Try GoodData now for free: www.gooddata.com
Thanks for the help.
Gilmara
2010/11/14 Reza Moussavi <reza.m...@gmail.com>: