From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 0D1EF15FB90D; Fri, 24 Oct 2025 14:01:47 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 0D1EF15FB90D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1761303707; bh=8wGp7j/2xZVesPCybAkdQ4PiLYhjflUk20Y8K/wQHUY=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=pBvZo1Sp+ZgWQ6aEJRqhG0Vg/RJDljltoCnGPU+NYpPCN5QTF0HqF2LRuLoHKYBpq a9cper1eUIJtHa9RM08q49WS2O8WbY/lpuWONrVkcRY+uTakXgRQ0LuZLz5HvqbEdS Nji9fnXFWcoEKz9iemETnGQzOS6Mcyu7GFAbP/cA= Received: from send81.i.mail.ru (send81.i.mail.ru [89.221.237.176]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 1DBFD15F7CCA for ; Fri, 24 Oct 2025 13:51:29 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 1DBFD15F7CCA Received: by exim-smtp-855f5997bb-88mr2 with esmtpa (envelope-from ) id 1vCFOK-000000006vv-0zw3; Fri, 24 Oct 2025 13:51:28 +0300 To: Sergey Bronnikov Date: Fri, 24 Oct 2025 13:50:26 +0300 Message-ID: X-Mailer: git-send-email 2.51.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD9DAB542EDD08389FEBF1141A46519F002EDEF8F65D1B14169182A05F538085040EEFEFC27D36766763DE06ABAFEAF670523B8AA31D5540C2452E7C6720268728EE9F8F47979F3B776 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7EB05B7739F1E6D56EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637AC83A81C8FD4AD23D82A6BABE6F325AC2E85FA5F3EDFCBAA7353EFBB55337566D857902A848E84F8DCE50627C6E59F7F282EBDC4CF679BDED9171EED574178F6389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C0B27420F9988F54058941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6E232F00D8D26902CA471835C12D1D977C4224003CC8364762BB6847A3DEAEFB0F43C7A68FF6260569E8FC8737B5C2249EC8D19AE6D49635B68655334FD4449CB9ECD01F8117BC8BEAAAE862A0553A39223F8577A6DFFEA7CC1948A84299AD5C643847C11F186F3C59DAA53EE0834AAEE X-C1DE0DAB: 0D63561A33F958A5D228CC413C8441055002B1117B3ED696C8BD4F7CC4F07A5303803A57F48E4E5A823CB91A9FED034534781492E4B8EEAD27E9584FBD6BDD31C79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF4D33B946F78C64D030A4B482EC4F25A8ED1760E2D764DC92135154D04D122A2B1230ACE34F2D113D6EB503EC62A3E87F02585FFE400E14B7E2422C6CC32E61FEF3C1BDECC9938DBD5F4332CA8FE04980913E6812662D5F2A5EAB5682573093F7837F15F2B5E4A70B33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVRN2q9QiacRueCHxAZO0dCs= X-DA7885C5: EDE2F41E6ADB19B8F255D290C0D534F92A5EB111B503454748BCA6DDAC024DA39E861BD6F57010EE5B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393DDD5FD59B456EAD25D1EBA41D3471B7F11988E4495A63B6EAEE6353053EFAF27E49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v1 luajit 22/41] perf: adjust pidigits-nogmp in LuaJIT-benches X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Kaplun via Tarantool-patches Reply-To: Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This patch adjusts the aforementioned test to use the benchmark framework introduced before. The default arguments are adjusted according to the file. The arguments to the script still can be provided in the command line run. The output is redirected to /dev/null. The check is skipped since it is very inconvenient to store the huge file in the repository with the reference value. --- perf/LuaJIT-benches/pidigits-nogmp.lua | 49 ++++++++++++++++++-------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/perf/LuaJIT-benches/pidigits-nogmp.lua b/perf/LuaJIT-benches/pidigits-nogmp.lua index 63a1cb0e..e96b3e45 100644 --- a/perf/LuaJIT-benches/pidigits-nogmp.lua +++ b/perf/LuaJIT-benches/pidigits-nogmp.lua @@ -1,3 +1,4 @@ +local bench = require("bench").new(arg) -- Start of dynamically compiled chunk. local chunk = [=[ @@ -80,21 +81,41 @@ end) ]=] -- End of dynamically compiled chunk. -local N = tonumber(arg and arg[1]) or 27 +local N = tonumber(arg and arg[1]) or 5000 local RADIX = N < 6500 and 2^36 or 2^32 -- Avoid overflow. --- Substitute radix and compile chunk. -local pidigit = loadstring(string.gsub(chunk, "RADIX", tostring(RADIX)))() +local stdout = io.output() --- Print lines with 10 digits. -for i=10,N,10 do - for j=1,10 do io.write(pidigit()) end - io.write("\t:", i, "\n") -end +bench:add({ + name = "pidigit_nogmp", + -- Avoid skip checking here, since it is not very convenient. + -- If you want to check the behaviour -- drop the setup + -- function. + skip_check = true, + setup = function() + io.output("/dev/null") + end, + payload = function() + -- Substitute radix and compile chunk. + local pidigit = loadstring(string.gsub(chunk, "RADIX", tostring(RADIX)))() --- Print remaining digits (if any). -local n10 = N % 10 -if n10 ~= 0 then - for i=1,n10 do io.write(pidigit()) end - io.write(string.rep(" ", 10-n10), "\t:", N, "\n") -end + -- Print lines with 10 digits. + for i=10,N,10 do + for j=1,10 do io.write(pidigit()) end + io.write("\t:", i, "\n") + end + + -- Print remaining digits (if any). + local n10 = N % 10 + if n10 ~= 0 then + for i=1,n10 do io.write(pidigit()) end + io.write(string.rep(" ", 10-n10), "\t:", N, "\n") + end + end, + teardown = function() + io.output(stdout) + end, + items = N, +}) + +bench:run_and_report() -- 2.51.0