From: Sergey Kaplun via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Sergey Bronnikov <sergeyb@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH v1 luajit 16/41] perf: adjust meteor in LuaJIT-benches
Date: Fri, 26 Dec 2025 11:23:11 +0300 [thread overview]
Message-ID: <aU5F74JQm8l28sm0@root> (raw)
In-Reply-To: <058ce9d7-51d4-4639-9ef1-d64878fb117b@tarantool.org>
Hi, Sergey!
Thanks for the review!
Please considery my answers below.
On 23.12.25, Sergey Bronnikov wrote:
> Hello,
>
> thanks for the patch! See my comments.
>
> Sergey
>
>
> On 10/24/25 13:50, Sergey Kaplun wrote:
> > This patch adjusts the aforementioned test to use the benchmark
> > framework introduced before. The arguments to the script still can be
> > provided in the command line run. However, the values greater than the
> > maximum possible solutions found do not affect the time of execution for
> > this benchmark. Hence, the number of items to proceed is considered
> > constant as the maximum possible number of solutions.
> > ---
> > perf/LuaJIT-benches/meteor.lua | 46 ++++++++++++++++++++++++++--------
> > 1 file changed, 36 insertions(+), 10 deletions(-)
> >
> > diff --git a/perf/LuaJIT-benches/meteor.lua b/perf/LuaJIT-benches/meteor.lua
> > index 80588ab5..f3962820 100644
> > --- a/perf/LuaJIT-benches/meteor.lua
> > +++ b/perf/LuaJIT-benches/meteor.lua
> > @@ -1,3 +1,4 @@
Added the comment with the short benchmark description, as we
discussed offline:
===================================================================
diff --git a/perf/LuaJIT-benches/meteor.lua b/perf/LuaJIT-benches/meteor.lua
index 7acb86af..8cda0190 100644
--- a/perf/LuaJIT-benches/meteor.lua
+++ b/perf/LuaJIT-benches/meteor.lua
@@ -1,3 +1,8 @@
+-- Benchmark to check various operations via the Meteor puzzle
+-- solver.
+-- For the details see:
+-- https://pybenchmarks.org/u64q/performance.php?test=meteor
+
local bench = require("bench").new(arg)
-- Generate a decision tree based solver for the meteor puzzle.
===================================================================
> > +local bench = require("bench").new(arg)
> >
> > -- Generate a decision tree based solver for the meteor puzzle.
> > local function generatesolver(countinit)
> > @@ -118,6 +119,10 @@ local function printresult()
> > printboard(smax)
> > end
> >
> > +local function getresult()
> > + return countinit-count, smin, smax
> > +end
> > +
> > -- Generate piece lookup array from the order of use.
> > local function genp()
> > local p = pcs
> > @@ -141,7 +146,7 @@ local function f91(k)
> > local s = p[b0] ]]
> > for p=2,99 do if ok[p] then s = s.."..p[b"..p.."]" end end
> please add more whitespaces. Here and below.
This part wasn't touched by the patch. Let's leave this chunk as is in
the original state. If we want to refactor it, this should be carefully
done when we have the stable performance testing so we may verify that
our changes don't affect the measurements. All stylistic fixes should be
done only in cases when we have already touched the code. Without it,
these changes have no sense to me. Most probably, we will never refactor
this code, but we will add new tests in our own perf suite.
> > s = s..[[
> > - -- Remember min/max boards, dito for the symmetric board.
> > + -- Remember min/max boards, ditto for the symmetric board.
> > if not smin then smin = s; smax = s
> > elseif s < smin then smin = s elseif s > smax then smax = s end
> > s = reverse(s)
> > @@ -206,15 +211,36 @@ local f93 = f91
> > end
> >
> > -- Compile and return solver function and result getter.
> > - return loadstring(s.."return f0, printresult\n", "solver")(countinit)
> > + return loadstring(s.."return f0, printresult, getresult\n", "solver")(countinit)
> > end
> >
> > --- Generate the solver function hierarchy.
> > -local solver, printresult = generatesolver(tonumber(arg and arg[1]) or 10000)
> > -
> > --- The optimizer for LuaJIT 1.1.x is not helpful here, so turn it off.
> > -if jit and jit.opt and jit.version_num < 10200 then jit.opt.start(0) end
> > +local N = tonumber(arg and arg[1]) or 10000
> > +
> > +bench:add({
> > + name = "meteror",
> typo: s/meteror/meteor/
Fixed, thanks!
===================================================================
diff --git a/perf/LuaJIT-benches/meteor.lua b/perf/LuaJIT-benches/meteor.lua
index f3962820..7acb86af 100644
--- a/perf/LuaJIT-benches/meteor.lua
+++ b/perf/LuaJIT-benches/meteor.lua
@@ -217,7 +217,7 @@ end
local N = tonumber(arg and arg[1]) or 10000
bench:add({
- name = "meteror",
+ name = "meteor",
setup = function()
-- The optimizer for LuaJIT 1.1.x is not helpful here, so turn it off.
if jit and jit.opt and jit.version_num < 10200 then jit.opt.start(0) end
===================================================================
> > + setup = function()
> > + -- The optimizer for LuaJIT 1.1.x is not helpful here, so turn it off.
> > + if jit and jit.opt and jit.version_num < 10200 then jit.opt.start(0) end
> > + end,
> > + payload = function()
> > + -- Generate the solver function hierarchy.
> > + local solver, printresult, getresult = generatesolver(N)
> > +
> > + -- Run the solver protected to get partial results (max count or ctrl-c).
> > + pcall(solver, 0)
> > +
> > + local n, smin, smax = getresult()
> > + return {n = n, smin = smin, smax = smax}
> > + end,
> > + checker = function(res)
> > + if N >= 2097 then
> > + assert(res.n == 2098, "Incorrect solutions number")
> > + assert(res.smin == "00001222012661126155865558633348893448934747977799")
> > + assert(res.smax == "99998966856688568255777257472014220144031400311333")
> > + end
> > + return true
> > + end,
> > + items = 2098,
> > +})
> >
> > --- Run the solver protected to get partial results (max count or ctrl-c).
> > -pcall(solver, 0)
> > -printresult()
> > +bench:run_and_report()
--
Best regards,
Sergey Kaplun
next prev parent reply other threads:[~2025-12-26 8:23 UTC|newest]
Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-24 10:50 [Tarantool-patches] [PATCH v1 luajit 00/41] LuaJIT performance testing Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 01/41] perf: add LuaJIT-test-cleanup perf suite Sergey Kaplun via Tarantool-patches
2025-11-11 14:28 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:04 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 02/41] perf: introduce clock module Sergey Kaplun via Tarantool-patches
2025-11-11 14:28 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:05 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 03/41] perf: introduce bench module Sergey Kaplun via Tarantool-patches
2025-11-11 15:41 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:06 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 04/41] perf: adjust array3d in LuaJIT-benches Sergey Kaplun via Tarantool-patches
2025-11-13 11:06 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:07 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 05/41] perf: adjust binary-trees " Sergey Kaplun via Tarantool-patches
2025-11-13 11:06 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:08 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 06/41] perf: adjust chameneos " Sergey Kaplun via Tarantool-patches
2025-11-13 11:11 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:10 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 07/41] perf: adjust coroutine-ring " Sergey Kaplun via Tarantool-patches
2025-11-13 11:17 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:11 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 08/41] perf: adjust euler14-bit " Sergey Kaplun via Tarantool-patches
2025-11-13 11:44 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:12 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 09/41] perf: adjust fannkuch " Sergey Kaplun via Tarantool-patches
2025-11-17 8:36 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:13 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 10/41] perf: adjust fasta " Sergey Kaplun via Tarantool-patches
2025-12-23 10:37 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:15 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 11/41] perf: adjust k-nucleotide " Sergey Kaplun via Tarantool-patches
2025-11-17 8:36 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:17 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 12/41] perf: adjust life " Sergey Kaplun via Tarantool-patches
2025-11-17 8:35 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:18 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 13/41] perf: adjust mandelbrot-bit " Sergey Kaplun via Tarantool-patches
2025-11-17 13:26 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:20 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 14/41] perf: adjust mandelbrot " Sergey Kaplun via Tarantool-patches
2025-12-23 10:38 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:20 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 15/41] perf: adjust md5 " Sergey Kaplun via Tarantool-patches
2025-11-17 13:26 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:22 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 16/41] perf: adjust meteor " Sergey Kaplun via Tarantool-patches
2025-12-23 10:38 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:23 ` Sergey Kaplun via Tarantool-patches [this message]
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 17/41] perf: adjust nbody " Sergey Kaplun via Tarantool-patches
2025-11-17 13:26 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:24 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 18/41] perf: adjust nsieve-bit-fp " Sergey Kaplun via Tarantool-patches
2025-11-17 13:26 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:25 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 19/41] perf: adjust nsieve-bit " Sergey Kaplun via Tarantool-patches
2025-11-17 13:26 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:25 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 20/41] perf: adjust nsieve " Sergey Kaplun via Tarantool-patches
2025-11-17 13:25 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:26 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 21/41] perf: adjust partialsums " Sergey Kaplun via Tarantool-patches
2025-11-17 13:25 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:27 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 22/41] perf: adjust pidigits-nogmp " Sergey Kaplun via Tarantool-patches
2025-11-17 13:25 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:27 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 23/41] perf: adjust ray " Sergey Kaplun via Tarantool-patches
2025-11-17 13:25 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:29 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 24/41] perf: adjust recursive-ack " Sergey Kaplun via Tarantool-patches
2025-11-17 13:25 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:30 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 25/41] perf: adjust recursive-fib " Sergey Kaplun via Tarantool-patches
2025-11-17 13:59 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:30 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 26/41] perf: adjust revcomp " Sergey Kaplun via Tarantool-patches
2025-11-17 13:59 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:31 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 27/41] perf: adjust scimark-2010-12-20 " Sergey Kaplun via Tarantool-patches
2025-11-17 13:56 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:32 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 28/41] perf: move <scimark_lib.lua> to <libs/> directory Sergey Kaplun via Tarantool-patches
2025-11-17 13:58 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:32 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 29/41] perf: adjust scimark-fft in LuaJIT-benches Sergey Kaplun via Tarantool-patches
2025-11-17 14:00 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:33 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 30/41] perf: adjust scimark-lu " Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:01 ` Sergey Kaplun via Tarantool-patches
2025-11-17 14:07 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:34 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 31/41] perf: add scimark-mc " Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:02 ` Sergey Kaplun via Tarantool-patches
2025-11-17 14:09 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:35 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 32/41] perf: adjust scimark-sor " Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:02 ` Sergey Kaplun via Tarantool-patches
2025-11-17 14:11 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:35 ` Sergey Kaplun via Tarantool-patches
2025-10-24 10:50 ` [Tarantool-patches] [PATCH v1 luajit 33/41] perf: adjust scimark-sparse " Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:03 ` Sergey Kaplun via Tarantool-patches
2025-11-17 14:15 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:36 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 34/41] perf: adjust series " Sergey Kaplun via Tarantool-patches
2025-11-17 14:19 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:37 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 35/41] perf: adjust spectral-norm " Sergey Kaplun via Tarantool-patches
2025-11-17 14:23 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:37 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 36/41] perf: adjust sum-file " Sergey Kaplun via Tarantool-patches
2025-12-23 10:37 ` Sergey Bronnikov via Tarantool-patches
2025-12-23 10:44 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:38 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 37/41] perf: add CMake infrastructure Sergey Kaplun via Tarantool-patches
2025-11-18 12:21 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:40 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 38/41] perf: add aggregator helper for bench statistics Sergey Kaplun via Tarantool-patches
2025-11-18 12:31 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:41 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 39/41] perf: add a script for the environment setup Sergey Kaplun via Tarantool-patches
2025-11-18 12:36 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:41 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 40/41] perf: provide CMake option to setup the benchmark Sergey Kaplun via Tarantool-patches
2025-11-18 12:51 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:42 ` Sergey Kaplun via Tarantool-patches
2025-10-24 11:00 ` [Tarantool-patches] [PATCH v1 luajit 41/41] ci: introduce the performance workflow Sergey Kaplun via Tarantool-patches
2025-11-18 13:08 ` Sergey Bronnikov via Tarantool-patches
2025-12-26 8:43 ` Sergey Kaplun via Tarantool-patches
2025-11-18 13:13 ` Sergey Bronnikov via Tarantool-patches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aU5F74JQm8l28sm0@root \
--to=tarantool-patches@dev.tarantool.org \
--cc=sergeyb@tarantool.org \
--cc=skaplun@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH v1 luajit 16/41] perf: adjust meteor in LuaJIT-benches' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox