Skip to content

ci: switch to self-hosted runners#351

Closed
intel352 wants to merge 2 commits into
mainfrom
feat/self-hosted-runners
Closed

ci: switch to self-hosted runners#351
intel352 wants to merge 2 commits into
mainfrom
feat/self-hosted-runners

Conversation

@intel352
Copy link
Copy Markdown
Contributor

Summary

  • Replace ubuntu-latest with [self-hosted, Linux, X64] in CI workflow
  • Tests org self-hosted runner (AM5GamingRig) before migrating all repos

Test plan

  • All 5 CI jobs pass on self-hosted runner (test, lint, build, ui-test, example-configs)
  • If successful, apply same change to all remaining workflows and repos

🤖 Generated with Claude Code

Replace ubuntu-latest with [self-hosted, Linux, X64] to use org's
AM5GamingRig runner. Testing with CI workflow first before migrating
remaining workflows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 21, 2026 05:09
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the CI workflow to run all jobs on an organization self-hosted runner instead of GitHub-hosted ubuntu-latest, as a trial before broader migration.

Changes:

  • Switched runs-on for all CI jobs from ubuntu-latest to [self-hosted, Linux, X64]
  • Applied consistently across test, lint, build, ui-test, and example-configs

Comment thread .github/workflows/ci.yml
test:
name: Test (Go ${{ matrix.go-version }})
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching this job to a self-hosted runner means the workflow (including pull_request runs) will execute arbitrary PR code on your own machine. If PRs can come from untrusted contributors (or even just non-admins), this is a high-risk escalation compared to GitHub-hosted runners; consider gating self-hosted usage (e.g., only on push/protected branches, or with an if: condition that restricts to trusted actors/branches) or keeping PRs on GitHub-hosted runners.

Suggested change
runs-on: [self-hosted, Linux, X64]
runs-on: [self-hosted, Linux, X64]
if: github.event_name == 'push'

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
lint:
name: Lint
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching this job to a self-hosted runner means the workflow (including pull_request runs) will execute arbitrary PR code on your own machine. If PRs can come from untrusted contributors (or even just non-admins), this is a high-risk escalation compared to GitHub-hosted runners; consider gating self-hosted usage (e.g., only on push/protected branches, or with an if: condition that restricts to trusted actors/branches) or keeping PRs on GitHub-hosted runners.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
build:
name: Build
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching this job to a self-hosted runner means the workflow (including pull_request runs) will execute arbitrary PR code on your own machine. If PRs can come from untrusted contributors (or even just non-admins), this is a high-risk escalation compared to GitHub-hosted runners; consider gating self-hosted usage (e.g., only on push/protected branches, or with an if: condition that restricts to trusted actors/branches) or keeping PRs on GitHub-hosted runners.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
ui-test:
name: UI Tests
runs-on: ubuntu-latest
runs-on: [self-hosted, Linux, X64]
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching this job to a self-hosted runner means the workflow (including pull_request runs) will execute arbitrary PR code on your own machine. If PRs can come from untrusted contributors (or even just non-admins), this is a high-risk escalation compared to GitHub-hosted runners; consider gating self-hosted usage (e.g., only on push/protected branches, or with an if: condition that restricts to trusted actors/branches) or keeping PRs on GitHub-hosted runners.

Copilot uses AI. Check for mistakes.
Comment thread .github/workflows/ci.yml
@@ -190,7 +190,7 @@ jobs:
# 3. Engine loading (can BuildFromConfig produce a working engine?)
example-configs:
name: Validate Example Configs
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching this job to a self-hosted runner means the workflow (including pull_request runs) will execute arbitrary PR code on your own machine. If PRs can come from untrusted contributors (or even just non-admins), this is a high-risk escalation compared to GitHub-hosted runners; consider gating self-hosted usage (e.g., only on push/protected branches, or with an if: condition that restricts to trusted actors/branches) or keeping PRs on GitHub-hosted runners.

Suggested change
name: Validate Example Configs
name: Validate Example Configs
if: github.event_name == 'push'

Copilot uses AI. Check for mistakes.
@intel352 intel352 closed this Mar 21, 2026
@intel352 intel352 deleted the feat/self-hosted-runners branch March 21, 2026 05:25
@github-actions
Copy link
Copy Markdown

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:244: parsing iteration count: invalid syntax
baseline-bench.txt:373574: parsing iteration count: invalid syntax
baseline-bench.txt:741258: parsing iteration count: invalid syntax
baseline-bench.txt:1079272: parsing iteration count: invalid syntax
baseline-bench.txt:1426037: parsing iteration count: invalid syntax
baseline-bench.txt:1843485: parsing iteration count: invalid syntax
benchmark-results.txt:244: parsing iteration count: invalid syntax
benchmark-results.txt:311045: parsing iteration count: invalid syntax
benchmark-results.txt:618333: parsing iteration count: invalid syntax
benchmark-results.txt:890584: parsing iteration count: invalid syntax
benchmark-results.txt:1185608: parsing iteration count: invalid syntax
benchmark-results.txt:1486914: parsing iteration count: invalid syntax
goos: linux
goarch: amd64
pkg: github.com/GoCodeAlone/workflow/dynamic
cpu: AMD EPYC 7763 64-Core Processor                
                            │ benchmark-results.txt │
                            │        sec/op         │
InterpreterCreation-4                  7.695m ± 61%
ComponentLoad-4                        3.485m ± 11%
ComponentExecute-4                     1.997µ ±  0%
PoolContention/workers-1-4             1.095µ ±  2%
PoolContention/workers-2-4             1.090µ ±  2%
PoolContention/workers-4-4             1.088µ ±  1%
PoolContention/workers-8-4             1.094µ ±  1%
PoolContention/workers-16-4            1.097µ ±  2%
ComponentLifecycle-4                   3.490m ±  1%
SourceValidation-4                     2.289µ ±  1%
RegistryConcurrent-4                   787.5n ±  5%
LoaderLoadFromString-4                 3.479m ±  0%
geomean                                18.70µ

                            │ benchmark-results.txt │
                            │         B/op          │
InterpreterCreation-4                  1.944Mi ± 0%
ComponentLoad-4                        2.097Mi ± 0%
ComponentExecute-4                     1.203Ki ± 0%
PoolContention/workers-1-4             1.203Ki ± 0%
PoolContention/workers-2-4             1.203Ki ± 0%
PoolContention/workers-4-4             1.203Ki ± 0%
PoolContention/workers-8-4             1.203Ki ± 0%
PoolContention/workers-16-4            1.203Ki ± 0%
ComponentLifecycle-4                   2.099Mi ± 0%
SourceValidation-4                     1.984Ki ± 0%
RegistryConcurrent-4                   1.133Ki ± 0%
LoaderLoadFromString-4                 2.099Mi ± 0%
geomean                                15.05Ki

                            │ benchmark-results.txt │
                            │       allocs/op       │
InterpreterCreation-4                   15.09k ± 0%
ComponentLoad-4                         17.43k ± 0%
ComponentExecute-4                       25.00 ± 0%
PoolContention/workers-1-4               25.00 ± 0%
PoolContention/workers-2-4               25.00 ± 0%
PoolContention/workers-4-4               25.00 ± 0%
PoolContention/workers-8-4               25.00 ± 0%
PoolContention/workers-16-4              25.00 ± 0%
ComponentLifecycle-4                    17.48k ± 0%
SourceValidation-4                       32.00 ± 0%
RegistryConcurrent-4                     2.000 ± 0%
LoaderLoadFromString-4                  17.47k ± 0%
geomean                                  181.2

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                            │ baseline-bench.txt │
                            │       sec/op       │
InterpreterCreation-4               8.866m ± 67%
ComponentLoad-4                     3.400m ±  1%
ComponentExecute-4                  1.925µ ±  1%
PoolContention/workers-1-4          1.221µ ±  1%
PoolContention/workers-2-4          1.222µ ±  2%
PoolContention/workers-4-4          1.217µ ±  1%
PoolContention/workers-8-4          1.212µ ±  3%
PoolContention/workers-16-4         1.212µ ±  1%
ComponentLifecycle-4                3.489m ±  2%
SourceValidation-4                  2.280µ ±  1%
RegistryConcurrent-4                930.8n ±  8%
LoaderLoadFromString-4              3.524m ±  2%
geomean                             19.97µ

                            │ baseline-bench.txt │
                            │        B/op        │
InterpreterCreation-4               1.944Mi ± 0%
ComponentLoad-4                     2.097Mi ± 0%
ComponentExecute-4                  1.203Ki ± 0%
PoolContention/workers-1-4          1.203Ki ± 0%
PoolContention/workers-2-4          1.203Ki ± 0%
PoolContention/workers-4-4          1.203Ki ± 0%
PoolContention/workers-8-4          1.203Ki ± 0%
PoolContention/workers-16-4         1.203Ki ± 0%
ComponentLifecycle-4                2.099Mi ± 0%
SourceValidation-4                  1.984Ki ± 0%
RegistryConcurrent-4                1.133Ki ± 0%
LoaderLoadFromString-4              2.099Mi ± 0%
geomean                             15.05Ki

                            │ baseline-bench.txt │
                            │     allocs/op      │
InterpreterCreation-4                15.09k ± 0%
ComponentLoad-4                      17.43k ± 0%
ComponentExecute-4                    25.00 ± 0%
PoolContention/workers-1-4            25.00 ± 0%
PoolContention/workers-2-4            25.00 ± 0%
PoolContention/workers-4-4            25.00 ± 0%
PoolContention/workers-8-4            25.00 ± 0%
PoolContention/workers-16-4           25.00 ± 0%
ComponentLifecycle-4                 17.48k ± 0%
SourceValidation-4                    32.00 ± 0%
RegistryConcurrent-4                  2.000 ± 0%
LoaderLoadFromString-4               17.47k ± 0%
geomean                               181.2

pkg: github.com/GoCodeAlone/workflow/middleware
cpu: AMD EPYC 7763 64-Core Processor                
                                  │ benchmark-results.txt │
                                  │        sec/op         │
CircuitBreakerDetection-4                     287.2n ± 4%
CircuitBreakerExecution_Success-4             22.50n ± 0%
CircuitBreakerExecution_Failure-4             65.45n ± 0%
geomean                                       75.07n

                                  │ benchmark-results.txt │
                                  │         B/op          │
CircuitBreakerDetection-4                    144.0 ± 0%
CircuitBreakerExecution_Success-4            0.000 ± 0%
CircuitBreakerExecution_Failure-4            0.000 ± 0%
geomean                                                 ¹
¹ summaries must be >0 to compute geomean

                                  │ benchmark-results.txt │
                                  │       allocs/op       │
CircuitBreakerDetection-4                    1.000 ± 0%
CircuitBreakerExecution_Success-4            0.000 ± 0%
CircuitBreakerExecution_Failure-4            0.000 ± 0%
geomean                                                 ¹
¹ summaries must be >0 to compute geomean

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                  │ baseline-bench.txt │
                                  │       sec/op       │
CircuitBreakerDetection-4                  453.6n ± 2%
CircuitBreakerExecution_Success-4          59.81n ± 0%
CircuitBreakerExecution_Failure-4          64.69n ± 0%
geomean                                    120.6n

                                  │ baseline-bench.txt │
                                  │        B/op        │
CircuitBreakerDetection-4                 144.0 ± 0%
CircuitBreakerExecution_Success-4         0.000 ± 0%
CircuitBreakerExecution_Failure-4         0.000 ± 0%
geomean                                              ¹
¹ summaries must be >0 to compute geomean

                                  │ baseline-bench.txt │
                                  │     allocs/op      │
CircuitBreakerDetection-4                 1.000 ± 0%
CircuitBreakerExecution_Success-4         0.000 ± 0%
CircuitBreakerExecution_Failure-4         0.000 ± 0%
geomean                                              ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/module
cpu: AMD EPYC 7763 64-Core Processor                
                                 │ benchmark-results.txt │
                                 │        sec/op         │
JQTransform_Simple-4                        870.1n ± 30%
JQTransform_ObjectConstruction-4            1.461µ ±  0%
JQTransform_ArraySelect-4                   3.321µ ±  0%
JQTransform_Complex-4                       38.35µ ±  0%
JQTransform_Throughput-4                    1.791µ ±  1%
SSEPublishDelivery-4                        65.77n ±  1%
geomean                                     1.634µ

                                 │ benchmark-results.txt │
                                 │         B/op          │
JQTransform_Simple-4                      1.273Ki ± 0%
JQTransform_ObjectConstruction-4          1.773Ki ± 0%
JQTransform_ArraySelect-4                 2.625Ki ± 0%
JQTransform_Complex-4                     16.22Ki ± 0%
JQTransform_Throughput-4                  1.984Ki ± 0%
SSEPublishDelivery-4                        0.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                 │ benchmark-results.txt │
                                 │       allocs/op       │
JQTransform_Simple-4                        10.00 ± 0%
JQTransform_ObjectConstruction-4            15.00 ± 0%
JQTransform_ArraySelect-4                   30.00 ± 0%
JQTransform_Complex-4                       324.0 ± 0%
JQTransform_Throughput-4                    17.00 ± 0%
SSEPublishDelivery-4                        0.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                 │ baseline-bench.txt │
                                 │       sec/op       │
JQTransform_Simple-4                     925.0n ± 26%
JQTransform_ObjectConstruction-4         1.518µ ± 22%
JQTransform_ArraySelect-4                3.275µ ±  2%
JQTransform_Complex-4                    35.52µ ±  1%
JQTransform_Throughput-4                 1.825µ ±  1%
SSEPublishDelivery-4                     72.72n ±  1%
geomean                                  1.670µ

                                 │ baseline-bench.txt │
                                 │        B/op        │
JQTransform_Simple-4                   1.273Ki ± 0%
JQTransform_ObjectConstruction-4       1.773Ki ± 0%
JQTransform_ArraySelect-4              2.625Ki ± 0%
JQTransform_Complex-4                  16.22Ki ± 0%
JQTransform_Throughput-4               1.984Ki ± 0%
SSEPublishDelivery-4                     0.000 ± 0%
geomean                                             ¹
¹ summaries must be >0 to compute geomean

                                 │ baseline-bench.txt │
                                 │     allocs/op      │
JQTransform_Simple-4                     10.00 ± 0%
JQTransform_ObjectConstruction-4         15.00 ± 0%
JQTransform_ArraySelect-4                30.00 ± 0%
JQTransform_Complex-4                    324.0 ± 0%
JQTransform_Throughput-4                 17.00 ± 0%
SSEPublishDelivery-4                     0.000 ± 0%
geomean                                             ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/schema
cpu: AMD EPYC 7763 64-Core Processor                
                                    │ benchmark-results.txt │
                                    │        sec/op         │
SchemaValidation_Simple-4                       1.087µ ± 4%
SchemaValidation_AllFields-4                    1.651µ ± 2%
SchemaValidation_FormatValidation-4             1.572µ ± 1%
SchemaValidation_ManySchemas-4                  1.793µ ± 4%
geomean                                         1.500µ

                                    │ benchmark-results.txt │
                                    │         B/op          │
SchemaValidation_Simple-4                      0.000 ± 0%
SchemaValidation_AllFields-4                   0.000 ± 0%
SchemaValidation_FormatValidation-4            0.000 ± 0%
SchemaValidation_ManySchemas-4                 0.000 ± 0%
geomean                                                   ¹
¹ summaries must be >0 to compute geomean

                                    │ benchmark-results.txt │
                                    │       allocs/op       │
SchemaValidation_Simple-4                      0.000 ± 0%
SchemaValidation_AllFields-4                   0.000 ± 0%
SchemaValidation_FormatValidation-4            0.000 ± 0%
SchemaValidation_ManySchemas-4                 0.000 ± 0%
geomean                                                   ¹
¹ summaries must be >0 to compute geomean

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                    │ baseline-bench.txt │
                                    │       sec/op       │
SchemaValidation_Simple-4                   1.042µ ± 10%
SchemaValidation_AllFields-4                1.528µ ±  1%
SchemaValidation_FormatValidation-4         1.486µ ±  6%
SchemaValidation_ManySchemas-4              1.464µ ±  2%
geomean                                     1.364µ

                                    │ baseline-bench.txt │
                                    │        B/op        │
SchemaValidation_Simple-4                   0.000 ± 0%
SchemaValidation_AllFields-4                0.000 ± 0%
SchemaValidation_FormatValidation-4         0.000 ± 0%
SchemaValidation_ManySchemas-4              0.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

                                    │ baseline-bench.txt │
                                    │     allocs/op      │
SchemaValidation_Simple-4                   0.000 ± 0%
SchemaValidation_AllFields-4                0.000 ± 0%
SchemaValidation_FormatValidation-4         0.000 ± 0%
SchemaValidation_ManySchemas-4              0.000 ± 0%
geomean                                                ¹
¹ summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/store
cpu: AMD EPYC 7763 64-Core Processor                
                                   │ benchmark-results.txt │
                                   │        sec/op         │
EventStoreAppend_InMemory-4                   1.234µ ± 12%
EventStoreAppend_SQLite-4                     1.297m ±  3%
GetTimeline_InMemory/events-10-4              13.98µ ±  1%
GetTimeline_InMemory/events-50-4              62.14µ ± 27%
GetTimeline_InMemory/events-100-4             124.5µ ±  0%
GetTimeline_InMemory/events-500-4             639.7µ ±  1%
GetTimeline_InMemory/events-1000-4            1.308m ±  0%
GetTimeline_SQLite/events-10-4                109.8µ ±  1%
GetTimeline_SQLite/events-50-4                250.7µ ±  0%
GetTimeline_SQLite/events-100-4               424.0µ ±  1%
GetTimeline_SQLite/events-500-4               1.797m ±  1%
GetTimeline_SQLite/events-1000-4              3.502m ±  0%
geomean                                       216.6µ

                                   │ benchmark-results.txt │
                                   │         B/op          │
EventStoreAppend_InMemory-4                     781.5 ± 7%
EventStoreAppend_SQLite-4                     1.984Ki ± 2%
GetTimeline_InMemory/events-10-4              7.953Ki ± 0%
GetTimeline_InMemory/events-50-4              46.62Ki ± 0%
GetTimeline_InMemory/events-100-4             94.48Ki ± 0%
GetTimeline_InMemory/events-500-4             472.8Ki ± 0%
GetTimeline_InMemory/events-1000-4            944.3Ki ± 0%
GetTimeline_SQLite/events-10-4                16.74Ki ± 0%
GetTimeline_SQLite/events-50-4                87.14Ki ± 0%
GetTimeline_SQLite/events-100-4               175.4Ki ± 0%
GetTimeline_SQLite/events-500-4               846.1Ki ± 0%
GetTimeline_SQLite/events-1000-4              1.639Mi ± 0%
geomean                                       67.28Ki

                                   │ benchmark-results.txt │
                                   │       allocs/op       │
EventStoreAppend_InMemory-4                     7.000 ± 0%
EventStoreAppend_SQLite-4                       53.00 ± 0%
GetTimeline_InMemory/events-10-4                125.0 ± 0%
GetTimeline_InMemory/events-50-4                653.0 ± 0%
GetTimeline_InMemory/events-100-4              1.306k ± 0%
GetTimeline_InMemory/events-500-4              6.514k ± 0%
GetTimeline_InMemory/events-1000-4             13.02k ± 0%
GetTimeline_SQLite/events-10-4                  382.0 ± 0%
GetTimeline_SQLite/events-50-4                 1.852k ± 0%
GetTimeline_SQLite/events-100-4                3.681k ± 0%
GetTimeline_SQLite/events-500-4                18.54k ± 0%
GetTimeline_SQLite/events-1000-4               37.29k ± 0%
geomean                                        1.162k

cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
                                   │ baseline-bench.txt │
                                   │       sec/op       │
EventStoreAppend_InMemory-4                1.159µ ±  6%
EventStoreAppend_SQLite-4                  960.3µ ±  5%
GetTimeline_InMemory/events-10-4           13.81µ ±  4%
GetTimeline_InMemory/events-50-4           75.63µ ±  4%
GetTimeline_InMemory/events-100-4          152.5µ ± 21%
GetTimeline_InMemory/events-500-4          614.9µ ±  1%
GetTimeline_InMemory/events-1000-4         1.257m ±  1%
GetTimeline_SQLite/events-10-4             84.84µ ±  1%
GetTimeline_SQLite/events-50-4             238.9µ ±  1%
GetTimeline_SQLite/events-100-4            430.5µ ±  1%
GetTimeline_SQLite/events-500-4            1.916m ±  3%
GetTimeline_SQLite/events-1000-4           3.806m ±  2%
geomean                                    213.0µ

                                   │ baseline-bench.txt │
                                   │        B/op        │
EventStoreAppend_InMemory-4                  774.0 ± 9%
EventStoreAppend_SQLite-4                  1.982Ki ± 2%
GetTimeline_InMemory/events-10-4           7.953Ki ± 0%
GetTimeline_InMemory/events-50-4           46.62Ki ± 0%
GetTimeline_InMemory/events-100-4          94.48Ki ± 0%
GetTimeline_InMemory/events-500-4          472.8Ki ± 0%
GetTimeline_InMemory/events-1000-4         944.3Ki ± 0%
GetTimeline_SQLite/events-10-4             16.74Ki ± 0%
GetTimeline_SQLite/events-50-4             87.14Ki ± 0%
GetTimeline_SQLite/events-100-4            175.4Ki ± 0%
GetTimeline_SQLite/events-500-4            846.1Ki ± 0%
GetTimeline_SQLite/events-1000-4           1.639Mi ± 0%
geomean                                    67.22Ki

                                   │ baseline-bench.txt │
                                   │     allocs/op      │
EventStoreAppend_InMemory-4                  7.000 ± 0%
EventStoreAppend_SQLite-4                    53.00 ± 0%
GetTimeline_InMemory/events-10-4             125.0 ± 0%
GetTimeline_InMemory/events-50-4             653.0 ± 0%
GetTimeline_InMemory/events-100-4           1.306k ± 0%
GetTimeline_InMemory/events-500-4           6.514k ± 0%
GetTimeline_InMemory/events-1000-4          13.02k ± 0%
GetTimeline_SQLite/events-10-4               382.0 ± 0%
GetTimeline_SQLite/events-50-4              1.852k ± 0%
GetTimeline_SQLite/events-100-4             3.681k ± 0%
GetTimeline_SQLite/events-500-4             18.54k ± 0%
GetTimeline_SQLite/events-1000-4            37.29k ± 0%
geomean                                     1.162k

Benchmarks run with go test -bench=. -benchmem -count=6.
Regressions ≥ 20% are flagged. Results compared via benchstat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants