From a0359094ed21866b04c55a9626fac154942729bd Mon Sep 17 00:00:00 2001 From: SisMaker <1713699517@qq.com> Date: Sun, 28 Mar 2021 22:16:52 +0800 Subject: [PATCH] =?UTF-8?q?ft:=20=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/recon-2.5.1/test.erl | 88 +++++++++++++++++++++++++++++++++-- 1 file changed, 84 insertions(+), 4 deletions(-) diff --git a/src/test/recon-2.5.1/test.erl b/src/test/recon-2.5.1/test.erl index c57972e..7115f1c 100644 --- a/src/test/recon-2.5.1/test.erl +++ b/src/test/recon-2.5.1/test.erl @@ -34,9 +34,9 @@ memInfoPrint(CurModule, CurLine, Threshold) -> "OldSumInfo:~w~n" "CurSumInfo:~w~n" "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n" - "OldPidInfo:~p~n" + "OldPidInfo:~w~n" "************************************************************************************~n" - "CurPidInfo:~p~n", [SubSum, SubPid, CurTime - OldTime, {old, OldModule, OldLine, OldTime}, {cur, CurModule, CurLine, CurTime}, OldSumInfo, CurSumInfo, OldMemInfo, CurMemInfo]); + "CurPidInfo:~w~n", [SubSum, SubPid, CurTime - OldTime, {old, OldModule, OldLine, OldTime}, {cur, CurModule, CurLine, CurTime}, OldSumInfo, CurSumInfo, OldMemInfo, CurMemInfo]); _ -> ignore end @@ -366,7 +366,7 @@ tt_w21() -> tt_w22() -> ?MEM_INFO_INIT(), - eFmt:format("~w", [get_test2()]), + eFmt:format(<<"~w">>, [get_test2()]), ?MEM_INFO_PRINT(0). tt_p1(Term) -> @@ -396,7 +396,7 @@ tt_p21() -> tt_p22() -> ?MEM_INFO_INIT(), - eFmt:format("~p", [get_test2()]), + eFmt:format(<<"~p">>, [get_test2()]), ?MEM_INFO_PRINT(0). -define(SQL_ROLE_CHAT_DATA_UPDATE, <<"update `role_chat` set `channels`='~s', `sensitive`=~p, `ban_times`=~p, `time`=~p where `role_id`=~p">>). @@ -437,4 +437,84 @@ tt_FS2(N) -> for(N, eFmt, format, [?SQL_ROLE_CHAT_DATA_UPDATE, [<<"YYYY">>, [abcdef, 134, 423], {adfs, gfdgfg, "fdsfdsfs"}, #{aaaa => bbb, vvv => dddd}, self()]]), ?MEM_INFO_PRINT(0). +tt_FM1(N) -> + ?MEM_INFO_INIT(), + for(N, eFmt, writeTerm, [get_test2(), -1, unicode]), + ?MEM_INFO_PRINT(0). + +tt_FM2(N) -> + ?MEM_INFO_INIT(), + for(N, eFmt, writeTerm, [get_test2(), -1, 120, unicode, true]), + ?MEM_INFO_PRINT(0). + + +tt_m1() -> + ?MEM_INFO_INIT(), + eFmt:writeTerm(get_test2(), -1, unicode), + ?MEM_INFO_PRINT(0). + +tt_m2() -> + ?MEM_INFO_INIT(), + eFmt:writeTerm(get_test2(), -1, 120, unicode, true), + ?MEM_INFO_PRINT(0). + +tt_Fmap1(N) -> + ?MEM_INFO_INIT(), + for(N, ?MODULE, writeMap1, [get_test2(), -1, unicod, <<"#{">>]), + ?MEM_INFO_PRINT(0). + +tt_Fmap2(N) -> + ?MEM_INFO_INIT(), + for(N, ?MODULE, writeMap2, [get_test2(), -1, 120, unicode, true, <<"#{">>]), + ?MEM_INFO_PRINT(0). + + +writeMap1(Map, D, E, BinAcc) -> + if + D =:= 1 -> + <>; + true -> + writeMapBody1(maps:iterator(Map), D, E, BinAcc) + end. +writeMapBody1(I, D, E, BinAcc) -> + if + D =:= 1 -> + <>; + true -> + case maps:next(I) of + {K, V, none} -> + < ", (eFmt:writeTerm(V, D, E))/binary, "}">>; + {K, V, NextI} -> + writeMapBody1(NextI, D - 1, E, < ", (eFmt:writeTerm(V, D, E))/binary, ",">>); + _ -> + <> + end + end. + +writeMap2(Map, D, E, BinAcc) -> + if + D =:= 1 -> + <>; + true -> + writeMapBody2(maps:iterator(Map), D, E, BinAcc) + end. + +writeMapBody2(I, D, E, BinAcc) -> + if + D =:= 1 -> + <>; + true -> + case maps:next(I) of + {K, V, none} -> + KeyTermBin = eFmt:writeTerm(K, -1, E), + ValueTermBin = eFmt:writeTerm(V, -1, E), + < ", ValueTermBin/binary, "}">>; + {K, V, NextI} -> + KeyTermBin = eFmt:writeTerm(K, -1, E), + ValueTermBin = eFmt:writeTerm(V, -1, E), + writeMapBody2(NextI, D - 1, E, < ", ValueTermBin/binary, ",">>); + _ -> + <> + end + end.