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 2FD0C16BF2D5; Fri, 26 Dec 2025 12:27:54 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 2FD0C16BF2D5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1766741274; bh=+tV8lFXMnmJlgg5kdmc5OZJiTbeIxBuGcEECvA7BQt4=; 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=jW/4PzBtb4dgYlaAvtUbdJIEG8PL+Dfn609rT5OCwmXUG8Ta8qBEvMNfcT2BnLLTV NAUI5Qu+UhP/jrk1W64hNqTZQe2V0eXlJqkcKqFoUKofKneDhYhXdBioMA/5Eq1gxN 6TTk95F5nBJEwrRetY7JhMmajPe2UbeIa3u29Xy4= 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 96F0116C6591 for ; Fri, 26 Dec 2025 12:18:53 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 96F0116C6591 Received: by exim-smtp-7b4fb89df9-lft7n with esmtpa (envelope-from ) id 1vZ3yD-000000008Cp-3XO4; Fri, 26 Dec 2025 12:18:53 +0300 To: Sergey Bronnikov Date: Fri, 26 Dec 2025 12:17:50 +0300 Message-ID: <4c808789457cabe2f141019c8a2c07d4fa4a60f5.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: 78E4E2B564C1792B X-77F55803: 4F1203BC0FB41BD979975AF0D777FEBD136B1DE29D0A14186819F7335A1BEA2E182A05F5380850408C666DB3C4F8CF4B3DE06ABAFEAF6705E27408CD5AE36AE5B4FA2C6BBBE99EF92476E39F0D35E726 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE78E88BD1CA827EF00C2099A533E45F2D0395957E7521B51C2CFCAF695D4D8E9FCEA1F7E6F0F101C6778DA827A17800CE7DBA72CFE7C57007CEA1F7E6F0F101C67CDEEF6D7F21E0D1D9295C2E9FA3191EE1B59CA4C82EFA6589E127517863BB3A312BA5BE52831769103566483EAFA1BED117882F4460429724CE54428C33FAD305F5C1EE8F4F765FCEA77C8EAE1CE44B0A471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F44604297287769387670735201E561CDFBCA1751F6FD1C55BDD38FC3FD2E47CDBA5A96583BA9C0B312567BB231DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B6753C3A5E0A5AB5B7089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF X-C1DE0DAB: 0D63561A33F958A5914F1D837B1BE6735002B1117B3ED6969F2FE31AD0402E0AE41E333F9D1358D5823CB91A9FED034534781492E4B8EEAD003C2D46C52F18F2C79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE191716CD42B3DD1D34CAB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D659EEEDAFB646F075143EEB5ECDCBD943592DCC3962124F9720072704158939E54CD65DFA090AD4EE08B8341EE9D5BE9A0AF6EBD2417C77150F05D8439B09F6DFF09355664D86685B266536EB022892E5344C41F94D744909CECFA6C6B0C050A61A8CAF69B82BA93681CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVdtTL5f5BIXbr+Iv23YOVaY= X-DA7885C5: BD8124B47B946390F255D290C0D534F9744838903F19728EC23499F86A79D5256B04C802680223895B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393DDD5FD59B456EAD24B6E281F4CB22A4A8700636FE984EBB83FFAC3665CA8DA07E49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 luajit 19/41] perf: adjust nsieve-bit 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.lua | 41 ++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/perf/LuaJIT-benches/nsieve-bit.lua b/perf/LuaJIT-benches/nsieve-bit.lua index 820a3726..0f6e49c8 100644 --- a/perf/LuaJIT-benches/nsieve-bit.lua +++ b/perf/LuaJIT-benches/nsieve-bit.lua @@ -1,3 +1,10 @@ +-- Benchmark to check the performance of bitwise arithmetics and +-- access to the array structure. This benchmark finds all prime +-- numbers in a given segment. This is the bit variation. +-- For the details see: +-- https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes + +local bench = require("bench").new(arg) local bit = require("bit") local band, bxor, rshift, rol = bit.band, bit.bxor, bit.rshift, bit.rol @@ -17,11 +24,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", + 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