<!DOCTYPE html>
<html data-lt-installed="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="padding-bottom: 1px;">
<p>Hi, Sergey!</p>
<p>LGTM with a minor comments.</p>
<p>Sergey</p>
<div class="moz-cite-prefix">On 12/26/25 12:17, Sergey Kaplun wrote:<br>
</div>
<blockquote type="cite"
cite="mid:137994c89849daa406bc9140cf4d96f5b632e70d.1766738771.git.skaplun@tarantool.org">
<pre wrap="" class="moz-quote-pre">This patch adjusts the aforementioned test to use the benchmark
framework introduced before. The default arguments are adjusted
according to the <PARAM_x86.txt> file. The arguments to the script still
can be provided in the command line run.
The number of iterations is fixed for this test to avoid OOM errors
for the non-GC64 builds.
---
perf/LuaJIT-benches/array3d.lua | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)
diff --git a/perf/LuaJIT-benches/array3d.lua b/perf/LuaJIT-benches/array3d.lua
index c10b09b1..80562706 100644
--- a/perf/LuaJIT-benches/array3d.lua
+++ b/perf/LuaJIT-benches/array3d.lua
@@ -1,3 +1,8 @@
+-- The benchmark to measure simple operations on array-like data
+-- structures.
+-- Here, a 3D array is represented as a contiguous 1D array.
+
+local bench = require("bench").new(arg)
local function array_set(self, x, y, z, p)
assert(x >= 0 and x < self.nx, "x outside PA")
@@ -50,10 +55,24 @@ end
local dim = tonumber(arg and arg[1]) or 300 -- Array dimension dim^3
local packed = arg and arg[2] == "packed" -- Packed image or flat
-local arr = array_new(dim, dim, dim, packed)
-for x,y,z in <a class="moz-txt-link-freetext" href="arr:points()">arr:points()</a> do
- <a class="moz-txt-link-freetext" href="arr:set(x">arr:set(x</a>, y, z, x*x)
-end
-assert(arr.image[dim^3-1] == (dim-1)^2)
+bench:add({
+ name = "array3d",
+ checker = function(arr)
+ assert(arr.image[dim^3-1] == (dim-1)^2)</pre>
</blockquote>
Please add more whitespaces.
<blockquote type="cite"
cite="mid:137994c89849daa406bc9140cf4d96f5b632e70d.1766738771.git.skaplun@tarantool.org">
<pre wrap="" class="moz-quote-pre">
+ return true
+ end,
+ payload = function()
+ local arr = array_new(dim, dim, dim, packed)
+ for x, y, z in <a class="moz-txt-link-freetext" href="arr:points()">arr:points()</a> do
+ <a class="moz-txt-link-freetext" href="arr:set(x">arr:set(x</a>, y, z, x*x)</pre>
</blockquote>
s/x*x/x * x/
<blockquote type="cite"
cite="mid:137994c89849daa406bc9140cf4d96f5b632e70d.1766738771.git.skaplun@tarantool.org">
<pre wrap="" class="moz-quote-pre">
+ end
+ return arr
+ end,
+ items = dim * dim * dim,
+ -- Limit the number of iterations to avoid OOM errors for
+ -- non-GC64 builds.
+ iterations = 4,
+})
+bench:run_and_report()
</pre>
</blockquote>
</body>
<lt-container></lt-container>
</html>