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 A5C4B16BF2C5; Fri, 26 Dec 2025 12:27:23 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A5C4B16BF2C5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1766741243; bh=VEfZkXJSUukTJI2d89cEWroK7HwN05tWec62QY1cwLs=; 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=TezLN2oh7eNAKmgECcp0hUSqNgJ4T/gfKeXyMLUYW63UDXAlPPS596ISulhuJewZD BTDULF/vG6N7q7IqJumXdZjCYY4h3o7xd3fkmoCG7dW53u+GahKzQ1Fwg+jHhZPUPB zj1dYuyXN1TuxHLhdgCZaobmu29nRTADiCmTdqkQ= Received: from send128.i.mail.ru (send128.i.mail.ru [89.221.237.223]) (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 4759E16C658B for ; Fri, 26 Dec 2025 12:18:48 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 4759E16C658B Received: by exim-smtp-7b4fb89df9-lft7n with esmtpa (envelope-from ) id 1vZ3yB-000000008Cp-0y2y; Fri, 26 Dec 2025 12:18:47 +0300 To: Sergey Bronnikov Date: Fri, 26 Dec 2025 12:17:49 +0300 Message-ID: <12e9c9662886c6b00f442e6f08722e0c066f401d.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: 4F1203BC0FB41BD979975AF0D777FEBDBD402C266276CBAD49C55E60069EDAD4182A05F538085040389F35A9D806A0D13DE06ABAFEAF670574996964112B1D49B4FA2C6BBBE99EF99ED8A54F4CD43B96 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE74EC61905B8C6A847EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637AC83A81C8FD4AD23D82A6BABE6F325AC2E85FA5F3EDFCBAA7353EFBB55337566657B88B02DF8C869A407CCA9090ACD418EDCD39A7D089D1AFA4B89CEAE32A47F389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C0DEC8C2C8BCD2534D8941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6E5E764EB5D94DBD4CC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB86D1867E19FE14079C09775C1D3CA48CF3D321E7403792E342EB15956EA79C166A417C69337E82CC275ECD9A6C639B01B78DA827A17800CE778B471BB9634AD8A731C566533BA786AA5CC5B56E945C8DA X-C1DE0DAB: 0D63561A33F958A51F6E20A0D27A18DB5002B1117B3ED696BA58535AFAEEBC29715D9AB585B0EB04823CB91A9FED034534781492E4B8EEAD14747542773C033FC79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE191716CD42B3DD1D34CAB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D659854B582344D83AF18C012DC0C61D11165282D0270F2EBB538CD9129134A99C31DC253233AF250B33B8341EE9D5BE9A0ADDBA30DD43C4286E05D8439B09F6DFF0F88B86BF225F44996536EB022892E5344C41F94D744909CECFA6C6B0C050A61A8CAF69B82BA93681CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVdtTL5f5BIXbRbTu8Z+nXtA= X-DA7885C5: D2BD9FEE3370C7D5F255D290C0D534F9DAF60F928212DA9165B035583A5C1F5D8C6E91677EC5E0C25B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393DDD5FD59B456EAD272579A909731EA898700636FE984EBB8CD2F71868D0FA469E49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 luajit 18/41] perf: adjust nsieve-bit-fp 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/nsieve-bit-fp.lua | 42 +++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/perf/LuaJIT-benches/nsieve-bit-fp.lua b/perf/LuaJIT-benches/nsieve-bit-fp.lua index 3971ec1f..ae1d1a1f 100644 --- a/perf/LuaJIT-benches/nsieve-bit-fp.lua +++ b/perf/LuaJIT-benches/nsieve-bit-fp.lua @@ -1,3 +1,11 @@ +-- Benchmark to check the performance of FP arithmetics and +-- access to the array structure. This benchmark finds all prime +-- numbers in a given segment. This is the FP benchmark that +-- models the bit variation behaviour. +-- For the details see: +-- https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes + +local bench = require("bench").new(arg) local floor, ceil = math.floor, math.ceil @@ -27,11 +35,35 @@ local function nsieve(p, m) return count end -local N = tonumber(arg and arg[1]) or 1 +local DEFAULT_N = 12 +local N = tonumber(arg and arg[1]) or DEFAULT_N if N < 2 then N = 2 end local primes = {} -for i=0,2 do - local m = (2^(N-i))*10000 - io.write(string.format("Primes up to %8d %8d\n", m, nsieve(primes, m))) -end +local benchmark +benchmark = { + name = "nsieve_bit_fp", + payload = function() + local res = {} + local items = 0 + for i = 0, 2 do + local m = (2 ^ (N - i)) * 10000 + items = items + m + res[i] = nsieve(primes, m) + end + benchmark.items = items + + return res + end, + checker = function(res) + if N == DEFAULT_N then + assert(res[0] == 2488465) + assert(res[1] == 1299069) + assert(res[2] == 679461) + end + return true + end, +} + +bench:add(benchmark) +bench:run_and_report() -- 2.52.0