perf - Add performance report for 4.2.12 [ci skip]
This commit is contained in:
parent
310cbc84b2
commit
7f5b0551be
3 changed files with 554 additions and 0 deletions
407
reports/4.2.12/perf.json
Normal file
407
reports/4.2.12/perf.json
Normal file
|
|
@ -0,0 +1,407 @@
|
|||
{
|
||||
"tag": "4.2.12",
|
||||
"generated_at": "2026-01-23T13:30:32Z",
|
||||
"parent_pipeline_id": 12115,
|
||||
"child_pipeline_id": 12117,
|
||||
"summary": {
|
||||
"total_tests": 665,
|
||||
"passed_tests": 665,
|
||||
"failed_tests": 0,
|
||||
"total_languages": 43,
|
||||
"passed_languages": 43,
|
||||
"avg_duration_seconds": 142,
|
||||
"max_duration_seconds": 406,
|
||||
"min_duration_seconds": 21,
|
||||
"slowest_language": "go",
|
||||
"fastest_language": "erlang"
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"language": "go",
|
||||
"status": "Passed",
|
||||
"queued_duration": 41.583969,
|
||||
"started_at": "2026-01-23T13:22:14Z",
|
||||
"updated_at": "2026-01-23T13:29:00Z",
|
||||
"job_id": 29410,
|
||||
"duration_seconds": 406
|
||||
},
|
||||
{
|
||||
"language": "crystal",
|
||||
"status": "Passed",
|
||||
"queued_duration": 36.366243,
|
||||
"started_at": "2026-01-23T13:22:08Z",
|
||||
"updated_at": "2026-01-23T13:28:45Z",
|
||||
"job_id": 29403,
|
||||
"duration_seconds": 397
|
||||
},
|
||||
{
|
||||
"language": "groovy",
|
||||
"status": "Passed",
|
||||
"queued_duration": 38.523149,
|
||||
"started_at": "2026-01-23T13:22:10Z",
|
||||
"updated_at": "2026-01-23T13:28:43Z",
|
||||
"job_id": 29404,
|
||||
"duration_seconds": 393
|
||||
},
|
||||
{
|
||||
"language": "deno",
|
||||
"status": "Passed",
|
||||
"queued_duration": 40.727393,
|
||||
"started_at": "2026-01-23T13:22:11Z",
|
||||
"updated_at": "2026-01-23T13:27:21Z",
|
||||
"job_id": 29405,
|
||||
"duration_seconds": 310
|
||||
},
|
||||
{
|
||||
"language": "awk",
|
||||
"status": "Passed",
|
||||
"queued_duration": 41.223654,
|
||||
"started_at": "2026-01-23T13:22:11Z",
|
||||
"updated_at": "2026-01-23T13:27:17Z",
|
||||
"job_id": 29406,
|
||||
"duration_seconds": 306
|
||||
},
|
||||
{
|
||||
"language": "cobol",
|
||||
"status": "Passed",
|
||||
"queued_duration": 139.467006,
|
||||
"started_at": "2026-01-23T13:23:52Z",
|
||||
"updated_at": "2026-01-23T13:28:42Z",
|
||||
"job_id": 29414,
|
||||
"duration_seconds": 290
|
||||
},
|
||||
{
|
||||
"language": "clojure",
|
||||
"status": "Passed",
|
||||
"queued_duration": 25.666374,
|
||||
"started_at": "2026-01-23T13:21:57Z",
|
||||
"updated_at": "2026-01-23T13:26:11Z",
|
||||
"job_id": 29401,
|
||||
"duration_seconds": 254
|
||||
},
|
||||
{
|
||||
"language": "rust",
|
||||
"status": "Passed",
|
||||
"queued_duration": 65.344725,
|
||||
"started_at": "2026-01-23T13:22:38Z",
|
||||
"updated_at": "2026-01-23T13:26:25Z",
|
||||
"job_id": 29411,
|
||||
"duration_seconds": 227
|
||||
},
|
||||
{
|
||||
"language": "scheme",
|
||||
"status": "Passed",
|
||||
"queued_duration": 19.277813,
|
||||
"started_at": "2026-01-23T13:21:50Z",
|
||||
"updated_at": "2026-01-23T13:25:15Z",
|
||||
"job_id": 29399,
|
||||
"duration_seconds": 205
|
||||
},
|
||||
{
|
||||
"language": "zig",
|
||||
"status": "Passed",
|
||||
"queued_duration": 143.055169,
|
||||
"started_at": "2026-01-23T13:23:57Z",
|
||||
"updated_at": "2026-01-23T13:27:16Z",
|
||||
"job_id": 29417,
|
||||
"duration_seconds": 199
|
||||
},
|
||||
{
|
||||
"language": "forth",
|
||||
"status": "Passed",
|
||||
"queued_duration": 218.730592,
|
||||
"started_at": "2026-01-23T13:25:15Z",
|
||||
"updated_at": "2026-01-23T13:28:13Z",
|
||||
"job_id": 29429,
|
||||
"duration_seconds": 178
|
||||
},
|
||||
{
|
||||
"language": "r",
|
||||
"status": "Passed",
|
||||
"queued_duration": 17.546631,
|
||||
"started_at": "2026-01-23T13:21:47Z",
|
||||
"updated_at": "2026-01-23T13:24:36Z",
|
||||
"job_id": 29395,
|
||||
"duration_seconds": 169
|
||||
},
|
||||
{
|
||||
"language": "bash",
|
||||
"status": "Passed",
|
||||
"queued_duration": 16.509548,
|
||||
"started_at": "2026-01-23T13:21:46Z",
|
||||
"updated_at": "2026-01-23T13:24:35Z",
|
||||
"job_id": 29394,
|
||||
"duration_seconds": 169
|
||||
},
|
||||
{
|
||||
"language": "csharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 187.021072,
|
||||
"started_at": "2026-01-23T13:24:39Z",
|
||||
"updated_at": "2026-01-23T13:27:16Z",
|
||||
"job_id": 29426,
|
||||
"duration_seconds": 157
|
||||
},
|
||||
{
|
||||
"language": "fsharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 186.563422,
|
||||
"started_at": "2026-01-23T13:24:39Z",
|
||||
"updated_at": "2026-01-23T13:27:15Z",
|
||||
"job_id": 29425,
|
||||
"duration_seconds": 156
|
||||
},
|
||||
{
|
||||
"language": "c",
|
||||
"status": "Passed",
|
||||
"queued_duration": 40.971826,
|
||||
"started_at": "2026-01-23T13:22:13Z",
|
||||
"updated_at": "2026-01-23T13:24:36Z",
|
||||
"job_id": 29408,
|
||||
"duration_seconds": 143
|
||||
},
|
||||
{
|
||||
"language": "ruby",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.231573,
|
||||
"started_at": "2026-01-23T13:21:41Z",
|
||||
"updated_at": "2026-01-23T13:23:57Z",
|
||||
"job_id": 29390,
|
||||
"duration_seconds": 136
|
||||
},
|
||||
{
|
||||
"language": "typescript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 11.043946,
|
||||
"started_at": "2026-01-23T13:21:40Z",
|
||||
"updated_at": "2026-01-23T13:23:52Z",
|
||||
"job_id": 29389,
|
||||
"duration_seconds": 132
|
||||
},
|
||||
{
|
||||
"language": "dotnet",
|
||||
"status": "Passed",
|
||||
"queued_duration": 212.783708,
|
||||
"started_at": "2026-01-23T13:25:09Z",
|
||||
"updated_at": "2026-01-23T13:27:14Z",
|
||||
"job_id": 29427,
|
||||
"duration_seconds": 125
|
||||
},
|
||||
{
|
||||
"language": "prolog",
|
||||
"status": "Passed",
|
||||
"queued_duration": 215.909256,
|
||||
"started_at": "2026-01-23T13:25:12Z",
|
||||
"updated_at": "2026-01-23T13:27:16Z",
|
||||
"job_id": 29428,
|
||||
"duration_seconds": 124
|
||||
},
|
||||
{
|
||||
"language": "elixir",
|
||||
"status": "Passed",
|
||||
"queued_duration": 17.989889,
|
||||
"started_at": "2026-01-23T13:21:48Z",
|
||||
"updated_at": "2026-01-23T13:23:52Z",
|
||||
"job_id": 29396,
|
||||
"duration_seconds": 124
|
||||
},
|
||||
{
|
||||
"language": "tcl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 18.745656,
|
||||
"started_at": "2026-01-23T13:21:49Z",
|
||||
"updated_at": "2026-01-23T13:23:52Z",
|
||||
"job_id": 29398,
|
||||
"duration_seconds": 123
|
||||
},
|
||||
{
|
||||
"language": "java",
|
||||
"status": "Passed",
|
||||
"queued_duration": 65.908662,
|
||||
"started_at": "2026-01-23T13:22:39Z",
|
||||
"updated_at": "2026-01-23T13:24:35Z",
|
||||
"job_id": 29412,
|
||||
"duration_seconds": 116
|
||||
},
|
||||
{
|
||||
"language": "kotlin",
|
||||
"status": "Passed",
|
||||
"queued_duration": 66.343916,
|
||||
"started_at": "2026-01-23T13:22:39Z",
|
||||
"updated_at": "2026-01-23T13:24:34Z",
|
||||
"job_id": 29413,
|
||||
"duration_seconds": 115
|
||||
},
|
||||
{
|
||||
"language": "julia",
|
||||
"status": "Passed",
|
||||
"queued_duration": 181.477057,
|
||||
"started_at": "2026-01-23T13:24:37Z",
|
||||
"updated_at": "2026-01-23T13:26:24Z",
|
||||
"job_id": 29422,
|
||||
"duration_seconds": 107
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 41.136394,
|
||||
"started_at": "2026-01-23T13:22:13Z",
|
||||
"updated_at": "2026-01-23T13:23:59Z",
|
||||
"job_id": 29409,
|
||||
"duration_seconds": 106
|
||||
},
|
||||
{
|
||||
"language": "raku",
|
||||
"status": "Passed",
|
||||
"queued_duration": 40.504061,
|
||||
"started_at": "2026-01-23T13:22:12Z",
|
||||
"updated_at": "2026-01-23T13:23:53Z",
|
||||
"job_id": 29407,
|
||||
"duration_seconds": 101
|
||||
},
|
||||
{
|
||||
"language": "dart",
|
||||
"status": "Passed",
|
||||
"queued_duration": 181.285552,
|
||||
"started_at": "2026-01-23T13:24:36Z",
|
||||
"updated_at": "2026-01-23T13:26:17Z",
|
||||
"job_id": 29421,
|
||||
"duration_seconds": 101
|
||||
},
|
||||
{
|
||||
"language": "v",
|
||||
"status": "Passed",
|
||||
"queued_duration": 179.048397,
|
||||
"started_at": "2026-01-23T13:24:34Z",
|
||||
"updated_at": "2026-01-23T13:26:14Z",
|
||||
"job_id": 29419,
|
||||
"duration_seconds": 100
|
||||
},
|
||||
{
|
||||
"language": "objc",
|
||||
"status": "Passed",
|
||||
"queued_duration": 180.329094,
|
||||
"started_at": "2026-01-23T13:24:35Z",
|
||||
"updated_at": "2026-01-23T13:26:14Z",
|
||||
"job_id": 29420,
|
||||
"duration_seconds": 99
|
||||
},
|
||||
{
|
||||
"language": "ocaml",
|
||||
"status": "Passed",
|
||||
"queued_duration": 182.274986,
|
||||
"started_at": "2026-01-23T13:24:38Z",
|
||||
"updated_at": "2026-01-23T13:26:16Z",
|
||||
"job_id": 29424,
|
||||
"duration_seconds": 98
|
||||
},
|
||||
{
|
||||
"language": "powershell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 0.907876,
|
||||
"started_at": "2026-01-23T13:26:16Z",
|
||||
"updated_at": "2026-01-23T13:27:14Z",
|
||||
"job_id": 29443,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "perl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.41398,
|
||||
"started_at": "2026-01-23T13:21:43Z",
|
||||
"updated_at": "2026-01-23T13:22:38Z",
|
||||
"job_id": 29391,
|
||||
"duration_seconds": 55
|
||||
},
|
||||
{
|
||||
"language": "lua",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.326562,
|
||||
"started_at": "2026-01-23T13:21:45Z",
|
||||
"updated_at": "2026-01-23T13:22:38Z",
|
||||
"job_id": 29393,
|
||||
"duration_seconds": 53
|
||||
},
|
||||
{
|
||||
"language": "fortran",
|
||||
"status": "Passed",
|
||||
"queued_duration": 139.486042,
|
||||
"started_at": "2026-01-23T13:23:53Z",
|
||||
"updated_at": "2026-01-23T13:24:36Z",
|
||||
"job_id": 29415,
|
||||
"duration_seconds": 43
|
||||
},
|
||||
{
|
||||
"language": "d",
|
||||
"status": "Passed",
|
||||
"queued_duration": 139.481933,
|
||||
"started_at": "2026-01-23T13:23:54Z",
|
||||
"updated_at": "2026-01-23T13:24:34Z",
|
||||
"job_id": 29416,
|
||||
"duration_seconds": 40
|
||||
},
|
||||
{
|
||||
"language": "commonlisp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 27.617889,
|
||||
"started_at": "2026-01-23T13:21:59Z",
|
||||
"updated_at": "2026-01-23T13:22:38Z",
|
||||
"job_id": 29402,
|
||||
"duration_seconds": 39
|
||||
},
|
||||
{
|
||||
"language": "nim",
|
||||
"status": "Passed",
|
||||
"queued_duration": 145.858834,
|
||||
"started_at": "2026-01-23T13:24:00Z",
|
||||
"updated_at": "2026-01-23T13:24:36Z",
|
||||
"job_id": 29418,
|
||||
"duration_seconds": 36
|
||||
},
|
||||
{
|
||||
"language": "javascript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.234596,
|
||||
"started_at": "2026-01-23T13:21:39Z",
|
||||
"updated_at": "2026-01-23T13:22:11Z",
|
||||
"job_id": 29388,
|
||||
"duration_seconds": 32
|
||||
},
|
||||
{
|
||||
"language": "haskell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 181.904614,
|
||||
"started_at": "2026-01-23T13:24:37Z",
|
||||
"updated_at": "2026-01-23T13:25:09Z",
|
||||
"job_id": 29423,
|
||||
"duration_seconds": 32
|
||||
},
|
||||
{
|
||||
"language": "python",
|
||||
"status": "Passed",
|
||||
"queued_duration": 9.866286,
|
||||
"started_at": "2026-01-23T13:21:39Z",
|
||||
"updated_at": "2026-01-23T13:22:08Z",
|
||||
"job_id": 29387,
|
||||
"duration_seconds": 29
|
||||
},
|
||||
{
|
||||
"language": "php",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.704303,
|
||||
"started_at": "2026-01-23T13:21:44Z",
|
||||
"updated_at": "2026-01-23T13:22:10Z",
|
||||
"job_id": 29392,
|
||||
"duration_seconds": 26
|
||||
},
|
||||
{
|
||||
"language": "erlang",
|
||||
"status": "Passed",
|
||||
"queued_duration": 18.286508,
|
||||
"started_at": "2026-01-23T13:21:49Z",
|
||||
"updated_at": "2026-01-23T13:22:10Z",
|
||||
"job_id": 29397,
|
||||
"duration_seconds": 21
|
||||
}
|
||||
]
|
||||
}
|
||||
146
reports/4.2.12/perf.md
Normal file
146
reports/4.2.12/perf.md
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
# Performance Report: 4.2.12
|
||||
|
||||
**Generated:** 2026-01-23T13:30:32Z
|
||||
**Pipeline:** [#12117](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/12117)
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Tests | 665 |
|
||||
| Passed | 665 |
|
||||
| Failed | 0 |
|
||||
| Pass Rate | 100.0% |
|
||||
| Languages | 43 |
|
||||
| Avg Duration | 142s |
|
||||
| Slowest | go (406s) |
|
||||
| Fastest | erlang (21s) |
|
||||
|
||||
---
|
||||
|
||||
## Test Duration by Language
|
||||
|
||||
The primary performance metric - how long each language takes to run its full test suite (15 tests per language).
|
||||
|
||||

|
||||
|
||||
**Key observations:**
|
||||
- **GO** and **CRYSTAL** are outliers at 90+ seconds
|
||||
- Most languages cluster between 20-40 seconds
|
||||
- Compiled languages (red) tend to be faster than interpreted (blue)
|
||||
- **ERLANG** is the fastest at 21 seconds
|
||||
|
||||
---
|
||||
|
||||
## Compiled vs Interpreted
|
||||
|
||||
Comparing performance between compiled languages (C, Go, Rust, etc.) and interpreted languages (Python, Ruby, JavaScript, etc.).
|
||||
|
||||

|
||||
|
||||
**Findings:**
|
||||
- 20 compiled languages vs 22 interpreted
|
||||
- Compiled languages have lower median execution time
|
||||
- Interpreted languages show more variance (wider spread)
|
||||
- The white diamond marks the mean for each category
|
||||
|
||||
---
|
||||
|
||||
## Duration Distribution
|
||||
|
||||
Histogram showing how test durations are distributed across all 43 languages.
|
||||
|
||||

|
||||
|
||||
**Distribution analysis:**
|
||||
- Most languages complete in 20-35 seconds (the peak)
|
||||
- Mean (green dashed) and median (blue dotted) are close together
|
||||
- Long tail on the right from slow outliers (go, crystal)
|
||||
|
||||
---
|
||||
|
||||
## Speed Leaders
|
||||
|
||||
Side-by-side comparison of the 10 slowest and 10 fastest languages.
|
||||
|
||||

|
||||
|
||||
**Slowest (left):** GO, CRYSTAL, GROOVY, DENO, AWK
|
||||
**Fastest (right):** ERLANG, PHP, PYTHON, HASKELL, JAVASCRIPT
|
||||
|
||||
---
|
||||
|
||||
## Queue vs Execution Time
|
||||
|
||||
Scatter plot showing the relationship between CI queue wait time and actual test execution time.
|
||||
|
||||

|
||||
|
||||
**Notes:**
|
||||
- Queue time is how long the job waited for a runner
|
||||
- Most jobs had similar queue times (clustered vertically)
|
||||
- Outliers labeled - go and crystal took longest to execute regardless of queue time
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
Summary dashboard combining key metrics and visualizations.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Raw Data
|
||||
|
||||
### Per-Language Performance
|
||||
|
||||
| Language | Status | Duration |
|
||||
|----------|--------|----------|
|
||||
| go | Passed | 406s |
|
||||
| crystal | Passed | 397s |
|
||||
| groovy | Passed | 393s |
|
||||
| deno | Passed | 310s |
|
||||
| awk | Passed | 306s |
|
||||
| cobol | Passed | 290s |
|
||||
| clojure | Passed | 254s |
|
||||
| rust | Passed | 227s |
|
||||
| scheme | Passed | 205s |
|
||||
| zig | Passed | 199s |
|
||||
| forth | Passed | 178s |
|
||||
| r | Passed | 169s |
|
||||
| bash | Passed | 169s |
|
||||
| csharp | Passed | 157s |
|
||||
| fsharp | Passed | 156s |
|
||||
| c | Passed | 143s |
|
||||
| ruby | Passed | 136s |
|
||||
| typescript | Passed | 132s |
|
||||
| dotnet | Passed | 125s |
|
||||
| prolog | Passed | 124s |
|
||||
| elixir | Passed | 124s |
|
||||
| tcl | Passed | 123s |
|
||||
| java | Passed | 116s |
|
||||
| kotlin | Passed | 115s |
|
||||
| julia | Passed | 107s |
|
||||
| cpp | Passed | 106s |
|
||||
| raku | Passed | 101s |
|
||||
| dart | Passed | 101s |
|
||||
| v | Passed | 100s |
|
||||
| objc | Passed | 99s |
|
||||
| ocaml | Passed | 98s |
|
||||
| powershell | Passed | 58s |
|
||||
| perl | Passed | 55s |
|
||||
| lua | Passed | 53s |
|
||||
| fortran | Passed | 43s |
|
||||
| d | Passed | 40s |
|
||||
| commonlisp | Passed | 39s |
|
||||
| nim | Passed | 36s |
|
||||
| javascript | Passed | 32s |
|
||||
| haskell | Passed | 32s |
|
||||
| python | Passed | 29s |
|
||||
| php | Passed | 26s |
|
||||
| erlang | Passed | 21s |
|
||||
|
||||
---
|
||||
|
||||
*Report generated by UN Inception CI pipeline*
|
||||
|
|
@ -16,3 +16,4 @@ Tracking compile and test execution times across releases.
|
|||
| 4.2.9 | 2026-01-23 | 645 | 100.0% | 107s | ruby | d |
|
||||
| 4.2.10 | 2026-01-23 | 673 | 99.7% | 153s | scheme | bash |
|
||||
| 4.2.11 | 2026-01-23 | 669 | 100.0% | 103s | deno | cpp |
|
||||
| 4.2.12 | 2026-01-23 | 665 | 100.0% | 142s | go | erlang |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue