X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_test.erl;h=a6fc6a81305bb5b4bce645e19dd86210dbbac0a4;hb=79f0cfc91b7220d98e4caf50fbb3857807fc6bc4;hp=2cbc1ec5d898b73124a2aa10c2eca3323ea1a507;hpb=e290f3af3f37ca377712b02460da8b3c4ce02d3d;p=euphorik.git diff --git a/modules/erl/euphorik_test.erl b/modules/erl/euphorik_test.erl index 2cbc1ec..a6fc6a8 100644 --- a/modules/erl/euphorik_test.erl +++ b/modules/erl/euphorik_test.erl @@ -29,10 +29,10 @@ bench_get_messages_avec_2_conversations/0 ]). -include("../include/euphorik_bd.hrl"). - -% les intervalles en seconde min en max entre deux postes de message d'un utilisateur -% le temps d'attente est choisi au hasard entre ces deux valeurs --define(INTERVALLE_MIN, 2). + +% les intervalles en seconde min en max entre deux postes de message d'un utilisateur +% le temps d'attente est choisi au hasard entre ces deux valeurs +-define(INTERVALLE_MIN, 2). -define(INTERVALLE_MAX, 5). @@ -44,8 +44,8 @@ start(N, M) -> fun(Id) -> timer:sleep(100), spawn( - fun() -> - {A1, A2, A3} = now(), + fun() -> + {A1, A2, A3} = erlang:timestamp(), random:seed(A1, A2, A3), loop(Id, M) end @@ -53,10 +53,10 @@ start(N, M) -> end, Ids ). - + stop(Pids) -> lists:foreach(fun(Pid) -> exit(Pid, kill) end, Pids). - + % des trucs qui trainent bench_get_messages() -> T = [ @@ -98,8 +98,8 @@ moyenne_temps(_, _, _, 0, Total, Temps_acc) -> moyenne_temps(Module, Fun, Args, N, Total, Temps_acc) -> {Temps, _} = timer:tc(Module, Fun, Args), moyenne_temps(Module, Fun, Args, N - 1, Total, Temps_acc + Temps). - - + + % Crée N user avec des noms aléatoires et renvoie la liste des id. creer_users(N) -> creer_users(N, []). @@ -112,7 +112,7 @@ creer_users(N, Ids) -> message_rand() -> lists:flatten(message_rand(random:uniform(10), [])). message_rand(0, Mots) -> Mots; -message_rand(N, Mots) -> +message_rand(N, Mots) -> message_rand(N - 1, [mot_rand(random:uniform(2) + 5), $ | Mots]). @@ -122,10 +122,10 @@ mot_rand(L) -> mot_rand(0, Mot) -> Mot; mot_rand(L, Mot) -> mot_rand(L - 1, [random:uniform($z - $a + 1) + $a - 1 | Mot]). - + % Tire au hasard de 0 à 3 messages sur les 10 derniers postés, renvoie une liste de int() -% répartition : +% répartition : % 0 : 0.1 % 1 : 0.95 % 2 : 0.04 @@ -164,22 +164,22 @@ tire_element_rand(N, L, Elements) -> loop(User_id, 0) -> io:format("~p a fini~n", [User_id]); -loop(User_id, M) -> +loop(User_id, M) -> % attend un temp aléatoire compris entre INTERVALLE_MIN sec et INTERVALLE_MAX sec timer:sleep(1000 * (random:uniform(?INTERVALLE_MAX - ?INTERVALLE_MIN + 1) + ?INTERVALLE_MIN - 1)), % poste un message aléatoire par une personne aléatoire répondant à des messages aléatoires {Message, Repond_a} = {message_rand(), messages_id_rand()}, - % io:format("~p poste ~p et repond a ~w~n", [User_id, Message, Repond_a]), + % io:format("~p poste ~p et repond a ~w~n", [User_id, Message, Repond_a]), case euphorik_bd:nouveau_message(Message, User_id, Repond_a) of - {erreur, E} -> + {erreur, E} -> io:format("~p : erreur : ~p~n", [User_id, E]), loop(User_id, M); _ -> loop(User_id, M - 1) end. - - -% Permet de tester la vitesse d'écriture en fonction de la + + +% Permet de tester la vitesse d'écriture en fonction de la % taille de la BD % voir : http://erlang.org/pipermail/erlang-questions/2008-October/038697.html bench_write_minichat(Filename) -> @@ -191,7 +191,7 @@ bench_write_minichat(Filename) -> end, Times ), - file:close(File). + file:close(File). bench_write_minichat(100000, Temps) -> Temps; bench_write_minichat(N, Temps) -> {T, _} = timer:tc(mnesia, transaction, [fun() -> @@ -199,14 +199,13 @@ bench_write_minichat(N, Temps) -> mnesia:write(#minichat{ id = Id, auteur_id = random:uniform(10000), - date = now(), + date = erlang:timestamp(), pseudo = "Test", contenu = "Blabla blabla bla.", racine_id = random:uniform(10000) }) end]), bench_write_minichat(N + 1, if N rem 500 =:= 0 -> [{N, T} | Temps]; true -> Temps end). - - - \ No newline at end of file + +