[Tarantool-patches] [PATCH v2 luajit 36/41] perf: adjust sum-file in LuaJIT-benches
Sergey Kaplun
skaplun at tarantool.org
Fri Dec 26 12:18:07 MSK 2025
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 input for the test is redirected from the generated file
<SUMCOL_5000.txt>. This file is the result of concatenation of the
<SUMCOL_1.txt> 5000 times.
---
perf/LuaJIT-benches/sum-file.lua | 33 +++++++++++++++++++++++++++-----
1 file changed, 28 insertions(+), 5 deletions(-)
diff --git a/perf/LuaJIT-benches/sum-file.lua b/perf/LuaJIT-benches/sum-file.lua
index c9e618fd..6af2b4a5 100644
--- a/perf/LuaJIT-benches/sum-file.lua
+++ b/perf/LuaJIT-benches/sum-file.lua
@@ -1,6 +1,29 @@
+-- The benchmark to check the performance of reading lines from
+-- stdin and sum the given numbers (the strings converted to
+-- numbers by the VM automatically).
-local sum = 0
-for line in io.lines() do
- sum = sum + line
-end
-io.write(sum, "\n")
+local bench = require("bench").new(arg)
+
+-- XXX: The input file is generated from <SUMCOL_1.txt> by
+-- repeating it 5000 times. The <SUMCOL_1.txt> contains 1000 lines
+-- with the total sum of 500.
+bench:add({
+ name = "sum_file",
+ payload = function()
+ local sum = 0
+ for line in io.lines() do
+ sum = sum + line
+ end
+ -- Allow several iterations.
+ io.stdin:seek("set", 0)
+ return sum
+ end,
+ checker = function(res)
+ -- Precomputed result.
+ return res == 2500000
+ end,
+ -- Fixed size of the file.
+ items = 5e6,
+})
+
+bench:run_and_report()
--
2.52.0
More information about the Tarantool-patches
mailing list