Sha256: b76e110b5d764d6b06047551fd676ffa29fb7e251466b6370d6111b7cb0ae592
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
#! /usr/bin/env escript main([]) -> code:add_pathz("ebin/"), Cases = read_cases("test/timing.json"), io:format("Timing runs...~n", []), run(ejson, Cases), run(mochijson2, Cases), run(rfc4627, Cases). run(Module, Cases) -> F = fun() -> lists:foreach(fun(_) -> lists:map(fun(C) -> Module:decode(C) end, Cases) end, lists:seq(1, 2000)) end, io:format("~p => ~p~n", [Module, timed(F)]). timed(Func) -> Start = micro(), Func(), End = micro(), (End-Start)/1000000. micro() -> {Mega, Secs, Micro} = erlang:now(), (Mega * 1000000 + Secs) * 1000000 + Micro. read_cases(FName) -> {ok, Data} = file:read_file(FName), read_cases(Data, [], []). read_cases(Data, Curr, Acc) -> case Data of <<>> -> Case = list_to_binary(lists:reverse(Curr)), lists:reverse([Case | Acc]); <<"---", Rest/binary>> -> Case = list_to_binary(lists:reverse(Curr)), read_cases(Rest, [], [Case | Acc]); <<First:8/integer, Rest/binary>> -> read_cases(Rest, [First | Curr], Acc) end.
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
capricorn-2.0.11 | erlang/lib/ejson/test/timing.escript |
capricorn-2.0.10 | erlang/lib/ejson/test/timing.escript |
capricorn-2.0.9 | erlang/lib/ejson/test/timing.escript |