Performance
How long glsec takes to scan one large pipeline: 2,000 jobs with extends: and !reference chains, anchors and long scripts, about 650 KB, far bigger than real pipelines so that slow code shows. Every release since v1.0.0 and every change to main is measured on the same file, each time as the median of seven runs. Every dot links to its commit; hover for the details.
The time grows with the rules: each release checks more, from 64 rules in v1.3.0 to 89 in v1.24.1. The releases were measured one after another on the same machine, so their times compare.
main since v1.24.1, time relative to itCommit 1.0: as fast as the release
Every push to main runs on whatever GitHub runner it gets, and their speed varies by 10 to 30% or more. So each push also measures the latest release in the same job, taking turns, and the chart shows the ratio: below 1.0 is faster than the release. The latest commit, 251f202, takes 0.51 × v1.24.1.
BenchmarkRules)Allocations don't depend on the machine; they are recorded for commits on main.
All values
| Release or commit | Date | Scan time | Relative | Rules | CPU |
|---|---|---|---|---|---|
| v1.0.0 | 2026-05-15 | 397 ms | AMD EPYC 9V74 80-Core Processor | ||
| v1.0.1 | 2026-05-17 | 316 ms | AMD EPYC 9V74 80-Core Processor | ||
| v1.1.0 | 2026-05-18 | 335 ms | AMD EPYC 9V74 80-Core Processor | ||
| v1.2.0 | 2026-05-23 | 328 ms | AMD EPYC 9V74 80-Core Processor | ||
| v1.3.0 | 2026-05-24 | 492 ms | 64 | AMD EPYC 9V74 80-Core Processor | |
| v1.4.0 | 2026-05-26 | 470 ms | 64 | AMD EPYC 9V74 80-Core Processor | |
| v1.5.0 | 2026-06-03 | 541 ms | 67 | AMD EPYC 9V74 80-Core Processor | |
| v1.5.1 | 2026-06-04 | 564 ms | 67 | AMD EPYC 9V74 80-Core Processor | |
| v1.6.0 | 2026-06-06 | 618 ms | 70 | AMD EPYC 9V74 80-Core Processor | |
| v1.7.0 | 2026-06-13 | 646 ms | 72 | AMD EPYC 9V74 80-Core Processor | |
| v1.8.0 | 2026-06-22 | 659 ms | 75 | AMD EPYC 9V74 80-Core Processor | |
| v1.9.0 | 2026-07-03 | 673 ms | 77 | AMD EPYC 9V74 80-Core Processor | |
| v1.10.0 | 2026-07-11 | 691 ms | 80 | AMD EPYC 9V74 80-Core Processor | |
| v1.11.0 | 2026-07-18 | 676 ms | 80 | AMD EPYC 9V74 80-Core Processor | |
| v1.12.0 | 2026-07-20 | 730 ms | 80 | AMD EPYC 9V74 80-Core Processor | |
| v1.13.0 | 2026-07-25 | 722 ms | 81 | AMD EPYC 9V74 80-Core Processor | |
| v1.14.0 | 2026-08-03 | 741 ms | 82 | AMD EPYC 9V74 80-Core Processor | |
| v1.15.0 | 2026-08-16 | 773 ms | 82 | AMD EPYC 9V74 80-Core Processor | |
| v1.16.0 | 2026-09-01 | 779 ms | 82 | AMD EPYC 9V74 80-Core Processor | |
| v1.17.0 | 2026-09-08 | 816 ms | 84 | AMD EPYC 9V74 80-Core Processor | |
| v1.18.0 | 2026-09-25 | 974 ms | 84 | AMD EPYC 9V74 80-Core Processor | |
| v1.19.0 | 2026-10-03 | 979 ms | 84 | AMD EPYC 9V74 80-Core Processor | |
| v1.20.0 | 2026-10-13 | 1,210 ms | 85 | AMD EPYC 9V74 80-Core Processor | |
| v1.21.0 | 2026-10-15 | 1,201 ms | 85 | AMD EPYC 9V74 80-Core Processor | |
| v1.21.1 | 2026-10-21 | 1,193 ms | 85 | AMD EPYC 9V74 80-Core Processor | |
| v1.22.0 | 2026-10-21 | 1,208 ms | 85 | AMD EPYC 9V74 80-Core Processor | |
| v1.23.0 | 2026-10-24 | 1,191 ms | 85 | AMD EPYC 9V74 80-Core Processor | |
| v1.24.0 | 2026-10-26 | 1,818 ms | 89 | AMD EPYC 9V74 80-Core Processor | |
| v1.24.1 | 2026-10-26 | 1,799 ms | 89 | AMD EPYC 9V74 80-Core Processor | |
| 16e2320 | 2026-10-28 | 946 ms | 89 | AMD EPYC 9V74 80-Core Processor | |
| 251f202 | 2026-10-28 | 1,308 ms | 0.51 × v1.24.1 | 89 | AMD EPYC 7763 64-Core Processor |
Measured by the benchmark history workflow; the records and the input are on the benchmarks branch.