<!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>thanks for the patch! LGTM</p>
<p>Sergey</p>
<div class="moz-cite-prefix">On 12/26/25 12:18, Sergey Kaplun wrote:<br>
</div>
<blockquote type="cite"
cite="mid:4ab0f949bd2c130a977aa07b4fd08eb845f1442d.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 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.
+ <a class="moz-txt-link-freetext" href="io.stdin:seek(">io.stdin:seek(</a>"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()
</pre>
</blockquote>
</body>
<lt-container></lt-container>
</html>