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 906DC164972B; Fri, 24 Oct 2025 14:10:18 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 906DC164972B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1761304218; bh=q1MJq1o93QvtCVAcvFhJY9YGvexO5nTLCjlcA4/BoKE=; 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=CTJXAscebFMS4346XEBR/d8ierF9CFAx4nL9BbERP0FjGV2RS+rO3pvOU9oFO04CR 5YRvHHXLNEN0zmeDr9CodgmB9CVwPsopP3AiiBXNZOtAYnR9dvF/OBDTn6YQ3x+Da0 Jfz2BetLjhNINACOSej9weEETW/g0C1JfGUC+2cI= Received: from send196.i.mail.ru (send196.i.mail.ru [95.163.59.35]) (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 D192515FB900 for ; Fri, 24 Oct 2025 14:00:19 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org D192515FB900 Received: by exim-smtp-855f5997bb-lwcs4 with esmtpa (envelope-from ) id 1vCFWs-00000000C1f-2pYE; Fri, 24 Oct 2025 14:00:19 +0300 To: Sergey Bronnikov Date: Fri, 24 Oct 2025 14:00:11 +0300 Message-ID: <800b8e4d42b3d8f51ad2a5686799004b09e0e719.1761301736.git.skaplun@tarantool.org> 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: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD9DAB542EDD08389FE6972E6A35AEC2CEF82223B772369C626182A05F538085040DDDD79BEE5CB8CB53DE06ABAFEAF670547D1B98A87A1289F52E7C6720268728EECA116FACD37B17E X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7C27E92EFAD44F80DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637F88016AB904663428638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B21861EB0EF18AE0B82E070BE324C7D3C47BA74256793176B1F6B57BC7E64490618DEB871D839B73339E8FC8737B5C2249AEEA5BB16A939343CC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C06030C3405640F6718941B15DA834481F9449624AB7ADAF372E808ACE2090B5E14AD6D5ED66289B5259CC434672EE63711DD303D21008E298D5E8D9A59859A8B6B372FE9A2E580EFC725E5C173C3A84C309A7649CC036878F35872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A5B6BD6042439D793A5002B1117B3ED69602F1AC7AE124049EE772F934B9BCD185823CB91A9FED034534781492E4B8EEAD85CCBA673D36D1A4C79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF3FED46C3ACD6F73ED3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CFB70C80DE5D736ADF5C92EC434D28D9574E93E3D1768BE5413FAE83C553923CA4007A74C46802367A6EB503EC62A3E87F478A3E59177E7F89967ABA7627AEC097221B0FD81BB7BB085F4332CA8FE04980913E6812662D5F2A5EAB5682573093F7837F15F2B5E4A70B33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVRN2q9QiacRuDNNpo1+LwjY= X-DA7885C5: 85D8EF0AA4DF1ABEF255D290C0D534F9082CBFB0C213450516666B68FD4738926EDD8B27AE761F0D5B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393DDD5FD59B456EAD22FC1E4C24A166EE6D0C875D4A661AC778D6AC0D95B711969E49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v1 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 | 40 +++++++++++++++++++-------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/perf/LuaJIT-benches/spectral-norm.lua b/perf/LuaJIT-benches/spectral-norm.lua index ecc80112..6e63cd47 100644 --- a/perf/LuaJIT-benches/spectral-norm.lua +++ b/perf/LuaJIT-benches/spectral-norm.lua @@ -1,3 +1,4 @@ +local bench = require("bench").new(arg) local function A(i, j) local ij = i+j-1 @@ -25,16 +26,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 i=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.51.0