[Tarantool-patches] [PATCH v1 luajit 04/41] perf: adjust array3d in LuaJIT-benches
Sergey Bronnikov
sergeyb at tarantool.org
Thu Nov 13 14:06:40 MSK 2025
Hi, Sergey!
thanks for the patch!
On 10/24/25 13:50, Sergey Kaplun wrote:
> 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 | 25 ++++++++++++++++++++-----
> 1 file changed, 20 insertions(+), 5 deletions(-)
>
> diff --git a/perf/LuaJIT-benches/array3d.lua b/perf/LuaJIT-benches/array3d.lua
> index c10b09b1..75ab5b01 100644
> --- a/perf/LuaJIT-benches/array3d.lua
> +++ b/perf/LuaJIT-benches/array3d.lua
> @@ -1,3 +1,4 @@
> +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 +51,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 inarr:points() do
> -arr:set(x, 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)
> + return true
> + end,
> + payload = function()
> + local arr = array_new(dim, dim, dim, packed)
> + for x,y,z inarr:points() do
please add whitespaces after commas
> +arr:set(x, y, z, x*x)
> + end
> + return arr
> + end,
> + items = dim * dim * dim,
> + -- Limit the number of iterations to avoid OOM errors for
> + -- non-GC64 builds.
> + iterations = 5,
> +})
>
> +bench:run_and_report()
Looks like benchmark min time does not work as expected:
[1] ~/sources/MRG/tarantool/third_party/luajit $ time ./build/src/luajit
perf/LuaJIT-benches/array3d.lua --benchmark_min_time=10
-------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
UserCounters...
-------------------------------------------------------------------------------------------------------------
array3d 2.10 s 2.13 s
5 items_per_second=64.370M/s
real 0m2.333s
user 0m1.869s
sys 0m0.461s
[1] ~/sources/MRG/tarantool/third_party/luajit $
--benchmark_min_time set to 10 sec, but benchmark.lua reports "2.10 s"
and time reported by `time` utility
is less than 10 sec.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20251113/2142583a/attachment.htm>
More information about the Tarantool-patches
mailing list