<!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</p>
<p>Sergey</p>
<div class="moz-cite-prefix">On 1/14/26 13:19, Sergey Kaplun wrote:<br>
</div>
<blockquote type="cite" cite="mid:aWdttMhSK0pBFHXn@root">
<pre wrap="" class="moz-quote-pre">Hi, Sergey!
Thanks for the review!
Please consider my answers below.
Fixed your comment and force-pushed the branch.
On 13.01.26, Sergey Bronnikov wrote:
</pre>
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">Hi, Sergey!
thanks for the patch! Please see my comments.
Sergey
On 12/26/25 12:18, Sergey Kaplun wrote:
</pre>
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">This patch adds the workflow to run benchmarks from various suites,
aggregate their results, and send statistics to the InfluxDB to be
processed later.
The workflow contains a matrix to measure GC64 and non-GC64 modes with
enabled/disabled JIT for x64 architecture.
---
.github/actions/setup-performance/README.md | 10 ++
.github/actions/setup-performance/action.yml | 18 +++
.github/workflows/performance.yml | 110 +++++++++++++++++++
3 files changed, 138 insertions(+)
create mode 100644 .github/actions/setup-performance/README.md
create mode 100644 .github/actions/setup-performance/action.yml
create mode 100644 .github/workflows/performance.yml
diff --git a/.github/actions/setup-performance/README.md b/.github/actions/setup-performance/README.md
new file mode 100644
index 00000000..4c4bbdab
--- /dev/null
+++ b/.github/actions/setup-performance/README.md
</pre>
</blockquote>
</blockquote>
<pre wrap="" class="moz-quote-pre">
<snipped>
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">diff --git a/.github/actions/setup-performance/action.yml b/.github/actions/setup-performance/action.yml
new file mode 100644
index 00000000..24d07440
--- /dev/null
+++ b/.github/actions/setup-performance/action.yml
@@ -0,0 +1,18 @@
+name: Setup performance
+description: The Linux machine setup for running LuaJIT benchmarks
+runs:
+ using: composite
+ steps:
+ - name: Setup CI environment (Linux)
+ uses: ./.github/actions/setup-linux
+ - name: Install dependencies for the LuaJIT benchmarks
+ run: |
+ apt -y update
+ apt install -y luarocks curl
</pre>
</blockquote>
<pre wrap="" class="moz-quote-pre">I propose to add util-linux package that provides taskset utility.
</pre>
</blockquote>
<pre wrap="" class="moz-quote-pre">
Sure!
Added:
===================================================================
diff --git a/.github/actions/setup-performance/action.yml b/.github/actions/setup-performance/action.yml
index 24d07440..4e0e1929 100644
--- a/.github/actions/setup-performance/action.yml
+++ b/.github/actions/setup-performance/action.yml
@@ -8,7 +8,7 @@ runs:
- name: Install dependencies for the LuaJIT benchmarks
run: |
apt -y update
- apt install -y luarocks curl
+ apt install -y curl luarocks util-linux
shell: bash
- name: Install Lua modules
run: luarocks install lua-cjson
===================================================================
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">+ shell: bash
+ - name: Install Lua modules
+ run: luarocks install lua-cjson
+ shell: bash
+ - name: Run script to setup Linux environment
+ run: sh ./perf/helpers/setup_env.sh
+ shell: bash
diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml
new file mode 100644
index 00000000..fe22eb4b
--- /dev/null
+++ b/.github/workflows/performance.yml
</pre>
</blockquote>
</blockquote>
<pre wrap="" class="moz-quote-pre">
<snipped>
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">+concurrency:
+ # An update of a developer branch cancels the previously
+ # scheduled workflow run for this branch. However, the default
+ # branch, and long-term branch (tarantool/release/2.11,
+ # tarantool/release/2.10, etc) workflow runs are never canceled.
+ #
</pre>
</blockquote>
<pre wrap="" class="moz-quote-pre">do we need this text?
</pre>
</blockquote>
<pre wrap="" class="moz-quote-pre">
I suppose yes, it is left intact with the strange hacks below.
It is a generic part for all workflows.
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">+ # We use a trick here: define the concurrency group as 'workflow
+ # run ID' + # 'workflow run attempt' because it is a unique
+ # combination for any run. So it effectively discards grouping.
+ #
+ # XXX: we cannot use `github.sha` as a unique identifier because
+ # pushing a tag may cancel a run that works on a branch push
+ # event.
+ group: ${{ startsWith(github.ref, 'refs/heads/tarantool/')
+ && format('{0}-{1}', github.run_id, github.run_attempt)
+ || format('{0}-{1}', github.workflow, github.ref) }}
+ cancel-in-progress: true
+
+jobs:
+ performance-luajit:
+ # The 'performance' label _must_ be set only for the single
+ # runner to guarantee that results are not dependent on the
+ # machine.
</pre>
</blockquote>
<pre wrap="" class="moz-quote-pre">we don't use PR's in LuaJIT
</pre>
</blockquote>
<pre wrap="" class="moz-quote-pre">
It is about runner label, not PR label.
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="" class="moz-quote-pre">+ runs-on:
+ - self-hosted
+ - Linux
+ - x86_64
+ - 'performance'
</pre>
</blockquote>
</blockquote>
<pre wrap="" class="moz-quote-pre">
<snipped>
</pre>
</blockquote>
</body>
<lt-container></lt-container>
</html>