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 ABACF16516A4; Fri, 26 Dec 2025 12:35:56 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org ABACF16516A4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1766741756; bh=3sSOE5ugzqWAmkeoYTJmplLQKIxEBuxW+oIBVsQMO0k=; 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=jhr2kkOLaeqVDQVu4/TYna+IXWPVy5738bEtfas9x51i5rKVJi7ojJiMTvQUrD89q SjE8DWj0lAjyOb9vZjdAatLGuxPS6MjyWgcUKF0HO4ywOOKnAvcHLVJqnTox5eMR2d ZBvKwsKlMe7Nrcw7fhiYd2aXjoqUKLD641oNYSTE= Received: from send172.i.mail.ru (send172.i.mail.ru [95.163.59.11]) (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 99FE516C65B0 for ; Fri, 26 Dec 2025 12:20:19 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 99FE516C65B0 Received: by exim-smtp-7b4fb89df9-lft7n with esmtpa (envelope-from ) id 1vZ3ze-000000008Cp-1biG; Fri, 26 Dec 2025 12:20:18 +0300 To: Sergey Bronnikov Date: Fri, 26 Dec 2025 12:18:06 +0300 Message-ID: <6db4d7cf747beb36db80a5dc6002f0b45a98073d.1766738771.git.skaplun@tarantool.org> 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: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD979975AF0D777FEBDA796860CCD9352B78452F76EDBE9CB18182A05F53808504071BC70E3609E849C3DE06ABAFEAF6705B25E33DD2739CEBDB4FA2C6BBBE99EF93A6C2E7F7D92FB3D X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7B7733D0215A2F71AEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637F88016AB904663428638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B2C144A34A92DD32242E070BE324C7D3C437CE61DBB637FF59F6B57BC7E64490618DEB871D839B73339E8FC8737B5C2249D6FBC3EC642A93BBCC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C06030C3405640F6718941B15DA834481F9449624AB7ADAF372E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C39472471D10B198B935872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A572C8EE170303A7415002B1117B3ED69633F2B559CC6F0E3D219207EC0A953D2C823CB91A9FED034534781492E4B8EEADCAFEFF123806BC82C79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE191716CD42B3DD1D34CAB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D659F409B9CDB45B3E182507FC841A73830AE94B230CDF3EA45840FD3C49053057F9F19ED119F1CD5E9AB8341EE9D5BE9A0ADF57E2A0F1D319AC05D8439B09F6DFF03C4603B0419D79066536EB022892E5344C41F94D744909CECFA6C6B0C050A61A8CAF69B82BA93681CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVdtTL5f5BIXbWYijMDhK6tI= X-DA7885C5: 2056F4DF8D3E4EF7F255D290C0D534F934FEF0CE1C41E8027DB4B4F3D5456FAB4962FA36A225FC475B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393DDD5FD59B456EAD2822C66D6A210C9DA8700636FE984EBB880E4877CD874C563E49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 luajit 35/41] perf: adjust spectral-norm 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/spectral-norm.lua | 47 ++++++++++++++++++++------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/perf/LuaJIT-benches/spectral-norm.lua b/perf/LuaJIT-benches/spectral-norm.lua index ecc80112..7a7712a0 100644 --- a/perf/LuaJIT-benches/spectral-norm.lua +++ b/perf/LuaJIT-benches/spectral-norm.lua @@ -1,3 +1,11 @@ +-- The benchmark to check the performance of FP arithmetics and +-- function call inlining in the inner loops. +-- The benchmark calculates the spectral norm of an infinite +-- matrix. +-- For more details see: +-- https://benchmarksgame-team.pages.debian.net/benchmarksgame/description/spectralnorm.html + +local bench = require("bench").new(arg) local function A(i, j) local ij = i+j-1 @@ -25,16 +33,33 @@ local function AtAv(x, y, t, N) Atv(t, y, N) end -local N = tonumber(arg and arg[1]) or 100 -local u, v, t = {}, {}, {} -for i=1,N do u[i] = 1 end +local N = tonumber(arg and arg[1]) or 3000 -for i=1,10 do AtAv(u, v, t, N) AtAv(v, u, t, N) end +bench:add({ + name = "spectral_norm", + checker = function(res) + -- XXX: Empirical value. + if N > 66 then + assert(math.abs(res - 1.27422) < 0.00001) + end + return true + end, + payload = function() + local u, v, t = {}, {}, {} + for i = 1, N do u[i] = 1 end -local vBv, vv = 0, 0 -for i=1,N do - local ui, vi = u[i], v[i] - vBv = vBv + ui*vi - vv = vv + vi*vi -end -io.write(string.format("%0.9f\n", math.sqrt(vBv / vv))) + for _ = 1, 10 do AtAv(u, v, t, N) AtAv(v, u, t, N) end + + local vBv, vv = 0, 0 + for i = 1, N do + local ui, vi = u[i], v[i] + vBv = vBv + ui * vi + vv = vv + vi * vi + end + return math.sqrt(vBv / vv) + end, + -- Operations inside `for i=1,10` loop. + items = 40 * N * N, +}) + +bench:run_and_report() -- 2.52.0