File 0771-megaco-example-meas-Measurement-improvements.patch of Package erlang

From 2bcd5dfa77f75746a0e88f0811d1245162179a78 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Wed, 11 Dec 2024 12:33:56 +0100
Subject: [PATCH 1/2] [megaco|example|meas] Measurement improvements

It is no long feasable to measure in microsecs since on many
fast machines some of the result are actually less than 1 micro sec.
Therefor use nanosec instead.
Also improved (megaco) version.
---
 lib/megaco/examples/meas/megaco_codec_meas.erl | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/lib/megaco/examples/meas/megaco_codec_meas.erl b/lib/megaco/examples/meas/megaco_codec_meas.erl
index b5aa89631e..051e36b0b6 100644
--- a/lib/megaco/examples/meas/megaco_codec_meas.erl
+++ b/lib/megaco/examples/meas/megaco_codec_meas.erl
@@ -195,7 +195,14 @@ display_app_info() ->
 display_megaco_info() ->
     MI = megaco:module_info(),
     {value, {attributes, Attr}} = lists:keysearch(attributes, 1, MI),
-    {value, {app_vsn,    Ver}}  = lists:keysearch(app_vsn, 1, Attr),
+    {value, {app_vsn,    MVer}} = lists:keysearch(app_vsn, 1, Attr),
+    Ver =
+        case MVer of
+            "megaco-" ++ VStr ->
+                VStr;
+            _ ->
+                MVer
+        end,
     FlexStr = 
 	case megaco_flex_scanner:is_enabled() of
 	    true ->
@@ -361,8 +368,8 @@ measure(_Factor, _Opts, _Dir, _Codec, _Conf, [], Res, _MCount) ->
     io:format("~n[~s] Measurment on ~p messages:"
 	      "~n  Average:"
               "~n      Size:   ~w bytes, "
-	      "~n      Encode: ~w microsec, "
-	      "~n      Decode: ~w microsec~n~n", 
+	      "~n      Encode: ~w nanosec, "
+	      "~n      Decode: ~w nanosec~n~n", 
 	      [?FTS(), length(Res), Savg, Eavg, Davg]),
 
     {ok, lists:reverse(Res)};
@@ -485,7 +492,8 @@ do_measure_codec(Factor, Codec, Func, Conf, Version, Bin, MCount) ->
     {ok, Count} = measure_warmup(Codec, Func, Conf, Version, Bin, MCount),
     Count2      = Count div Factor,
     Res = timer:tc(?MODULE, do_measure_codec_loop, 
-		   [Codec, Func, Conf, Version, Bin, Count2, dummy]),
+		   [Codec, Func, Conf, Version, Bin, Count2, dummy],
+                   nanosecond),
     case Res of
 	{Time, {ok, M}} ->
 	    exit({measure_result, {M, Count2, Time}});
-- 
2.43.0

openSUSE Build Service is sponsored by