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 BDDAE16BF2DB; Fri, 26 Dec 2025 12:30:24 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org BDDAE16BF2DB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1766741424; bh=3pVl/EBLM2vnGUY7eDrsdtQevEslmDhE6Azqrero53s=; 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=MAbLzhbCWtqJ3Qn5JQ9S20/5mhw1TjqnaREOA3g66Dpqb6v06afdTdsA4q9xtgqzE i/Tcn5O+iaBtu8z+mG/ixPGr+k5WNtBhD4n137oa/cC2h6G8bZnT0aj/qqFyF5D3rZ qd+s9l0kkPkNpTR/50o0aPWxFb/SOtfqQjF71vVg= Received: from send195.i.mail.ru (send195.i.mail.ru [95.163.59.34]) (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 DB0DB16C6594 for ; Fri, 26 Dec 2025 12:19:09 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org DB0DB16C6594 Received: by exim-smtp-7b4fb89df9-lft7n with esmtpa (envelope-from ) id 1vZ3yW-000000008Cp-2PKC; Fri, 26 Dec 2025 12:19:09 +0300 To: Sergey Bronnikov Date: Fri, 26 Dec 2025 12:17:55 +0300 Message-ID: X-Mailer: git-send-email 2.52.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD979975AF0D777FEBDBAA859A04FD0C80461902D7FCE839B0E182A05F5380850403BF7BE2EBDE722EF3DE06ABAFEAF6705EB4266FD86FCE869B4FA2C6BBBE99EF97959C119149068A2 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7F1942E6D70B4A2F0EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637F88016AB904663428638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B264784C3FCD4243C62E070BE324C7D3C4B58A8771B9749188F6B57BC7E64490618DEB871D839B73339E8FC8737B5C2249A50BD5087FBFCDAACC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C084ED00A64A654CBE8941B15DA834481F9449624AB7ADAF372E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C3CE9959E2676FD87735872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A593C8BCD08E6D4E5C5002B1117B3ED696FE831D9AED049E9430C8F815570A3530823CB91A9FED034534781492E4B8EEAD27E9584FBD6BDD31C79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE191716CD42B3DD1D34CAB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D65969CBA6DC4162B3E7CC21853F759F1DE1DD91ED5F7E9D4A4DC0783502FE64136FB7E708CB60707A95B8341EE9D5BE9A0AE470D8EFA977104B05D8439B09F6DFF051E863F49F4E1F916536EB022892E5344C41F94D744909CECFA6C6B0C050A61A8CAF69B82BA93681CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVdtTL5f5BIXb5mPfy6JQ4Vc= X-DA7885C5: E751AA04354FA323F255D290C0D534F9AE1299B629F76A5EDD2D2ACECDC83C1F24820C44593899635B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393DDD5FD59B456EAD207CF7974949A78138700636FE984EBB8A9D19A0A71298B7FE49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 luajit 24/41] perf: adjust recursive-ack 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. --- perf/LuaJIT-benches/recursive-ack.lua | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/perf/LuaJIT-benches/recursive-ack.lua b/perf/LuaJIT-benches/recursive-ack.lua index fad30589..26b4e5c9 100644 --- a/perf/LuaJIT-benches/recursive-ack.lua +++ b/perf/LuaJIT-benches/recursive-ack.lua @@ -1,3 +1,10 @@ +-- The benchmark to check the performance of recursive calls. +-- Calculates the Ackermann function. +-- For the details see: +-- https://mathworld.wolfram.com/AckermannFunction.html + +local bench = require("bench").new(arg) + local function Ack(m, n) if m == 0 then return n+1 end if n == 0 then return Ack(m-1, 1) end @@ -5,4 +12,17 @@ local function Ack(m, n) end local N = tonumber(arg and arg[1]) or 10 -io.write("Ack(3,", N ,"): ", Ack(3,N), "\n") + +bench:add({ + name = "recursive_ack", + -- Sum of calls for the function RA(3, N). + items = 128 * ((4 ^ N - 1) / 3) - 40 * (2 ^ N - 1) + 3 * N + 15, + payload = function() + return Ack(3, N) + end, + checker = function(res) + return res == 2 ^ (N + 3) - 3 + end, +}) + +bench:run_and_report() -- 2.52.0