147
171
io:format("ASN.1 version: ~s~n", [Vsn]).
174
%% {MegaSec, Sec, MicroSec}
175
display_time(Start, Fin) ->
176
FormatDate1 = format_timestamp(Start),
177
FormatDate2 = format_timestamp(Fin),
178
FormatDiff = format_diff(Start, Fin),
179
io:format("Started: ~s~n", [FormatDate1]),
180
io:format("Finished: ~s~n", [FormatDate2]),
181
io:format(" ~s~n~n~n", [FormatDiff]),
184
format_timestamp({_N1, _N2, N3} = Now) ->
185
{Date, Time} = calendar:now_to_datetime(Now),
187
{Hour,Min,Sec} = Time,
189
io_lib:format("~.4w:~.2.0w:~.2.0w ~.2.0w:~.2.0w:~.2.0w 4~w",
190
[YYYY,MM,DD,Hour,Min,Sec,round(N3/1000)]),
191
lists:flatten(FormatDate).
193
format_diff(Start, Fin) ->
194
DateTime1 = calendar:now_to_universal_time(Start),
195
DateTime2 = calendar:now_to_universal_time(Fin),
196
T1 = calendar:datetime_to_gregorian_seconds(DateTime1),
197
T2 = calendar:datetime_to_gregorian_seconds(DateTime2),
198
{_, Diff} = calendar:gregorian_seconds_to_datetime(T2 - T1),
202
io_lib:format("~.2.0w sec", [S]);
204
io_lib:format("~w min ~.2.0w sec", [M,S]);
206
io_lib:format("~w hour ~w min ~.2.0w sec", [H,M,S])
151
212
t1([], Results) ->
152
213
lists:reverse(Results);
153
214
t1([{Dir, Codec, Conf, _} = EDir|Dirs], Results) ->
166
227
measure({Dir, Codec, Conf, Count}) when list(Dir) ->
167
228
io:format("measure using codec ~p ~p~n ", [Codec, Conf]),
168
229
{Init, Conf1} = measure_init(Conf),
169
Res = measure(Dir, Codec, Conf1, read_files(Dir), [], Count),
230
Conf2 = [{version3,?V3}|Conf1],
231
Res = measure(Dir, Codec, Conf2, read_files(Dir), [], Count),
170
232
measure_fin(Init),
296
measure(_Dir, _Codec, _Conf, [], [], _MCount) ->
297
{error, no_messages};
234
299
measure(_Dir, _Codec, _Conf, [], Res, _MCount) ->
236
301
Eavg = avg([Etime/Ecnt || #stat{ecount = Ecnt, etime = Etime} <- Res]),
252
317
measure(Dir, Codec, Conf, Files, [Stat | Results], MCount);
255
case get(everbose) of
260
io:format("~n~s failed~n", [File])
320
io:format("~n~s failed: ~n", [File]),
262
322
measure(Dir, Codec, Conf, Files, Results, MCount);