perf - Add performance report for 4.2.10 [ci skip]

This commit is contained in:
GitLab CI 2026-01-23 06:46:22 -05:00
parent 3b843c5099
commit 988aa721b6
9 changed files with 554 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

407
reports/4.2.10/perf.json Normal file
View file

@ -0,0 +1,407 @@
{
"tag": "4.2.10",
"generated_at": "2026-01-23T11:46:18Z",
"parent_pipeline_id": 12087,
"child_pipeline_id": 12089,
"summary": {
"total_tests": 673,
"passed_tests": 671,
"failed_tests": 2,
"total_languages": 43,
"passed_languages": 41,
"avg_duration_seconds": 153,
"max_duration_seconds": 320,
"min_duration_seconds": 29,
"slowest_language": "scheme",
"fastest_language": "bash"
},
"languages": [
{
"language": "scheme",
"status": "Passed",
"queued_duration": 28.58417,
"started_at": "2026-01-23T11:37:08Z",
"updated_at": "2026-01-23T11:42:28Z",
"job_id": 29224,
"duration_seconds": 320
},
{
"language": "clojure",
"status": "Passed",
"queued_duration": 34.414171,
"started_at": "2026-01-23T11:37:18Z",
"updated_at": "2026-01-23T11:42:28Z",
"job_id": 29226,
"duration_seconds": 310
},
{
"language": "deno",
"status": "Passed",
"queued_duration": 66.958449,
"started_at": "2026-01-23T11:37:46Z",
"updated_at": "2026-01-23T11:42:27Z",
"job_id": 29230,
"duration_seconds": 281
},
{
"language": "c",
"status": "Passed",
"queued_duration": 68.027219,
"started_at": "2026-01-23T11:37:52Z",
"updated_at": "2026-01-23T11:42:28Z",
"job_id": 29233,
"duration_seconds": 276
},
{
"language": "julia",
"status": "Passed",
"queued_duration": 190.117564,
"started_at": "2026-01-23T11:39:59Z",
"updated_at": "2026-01-23T11:44:30Z",
"job_id": 29247,
"duration_seconds": 271
},
{
"language": "prolog",
"status": "Passed",
"queued_duration": 197.409533,
"started_at": "2026-01-23T11:40:07Z",
"updated_at": "2026-01-23T11:44:29Z",
"job_id": 29253,
"duration_seconds": 262
},
{
"language": "raku",
"status": "Passed",
"queued_duration": 63.340398,
"started_at": "2026-01-23T11:37:47Z",
"updated_at": "2026-01-23T11:41:56Z",
"job_id": 29232,
"duration_seconds": 249
},
{
"language": "awk",
"status": "Passed",
"queued_duration": 67.324427,
"started_at": "2026-01-23T11:37:47Z",
"updated_at": "2026-01-23T11:41:54Z",
"job_id": 29231,
"duration_seconds": 247
},
{
"language": "cpp",
"status": "Passed",
"queued_duration": 68.740442,
"started_at": "2026-01-23T11:37:53Z",
"updated_at": "2026-01-23T11:41:55Z",
"job_id": 29234,
"duration_seconds": 242
},
{
"language": "ocaml",
"status": "Passed",
"queued_duration": 191.187496,
"started_at": "2026-01-23T11:40:00Z",
"updated_at": "2026-01-23T11:44:00Z",
"job_id": 29249,
"duration_seconds": 240
},
{
"language": "kotlin",
"status": "Passed",
"queued_duration": 72.988731,
"started_at": "2026-01-23T11:37:58Z",
"updated_at": "2026-01-23T11:41:58Z",
"job_id": 29238,
"duration_seconds": 240
},
{
"language": "csharp",
"status": "Passed",
"queued_duration": 195.576495,
"started_at": "2026-01-23T11:40:05Z",
"updated_at": "2026-01-23T11:44:00Z",
"job_id": 29251,
"duration_seconds": 235
},
{
"language": "haskell",
"status": "Passed",
"queued_duration": 190.562352,
"started_at": "2026-01-23T11:40:00Z",
"updated_at": "2026-01-23T11:43:34Z",
"job_id": 29248,
"duration_seconds": 214
},
{
"language": "forth",
"status": "Passed",
"queued_duration": 198.559254,
"started_at": "2026-01-23T11:40:08Z",
"updated_at": "2026-01-23T11:43:35Z",
"job_id": 29254,
"duration_seconds": 207
},
{
"language": "tcl",
"status": "Failed",
"queued_duration": 178.780298,
"started_at": "2026-01-23T11:40:50Z",
"updated_at": "2026-01-23T11:44:08Z",
"job_id": 29257,
"duration_seconds": 198
},
{
"language": "zig",
"status": "Passed",
"queued_duration": 118.38835,
"started_at": "2026-01-23T11:38:46Z",
"updated_at": "2026-01-23T11:41:51Z",
"job_id": 29242,
"duration_seconds": 185
},
{
"language": "r",
"status": "Passed",
"queued_duration": 15.31373,
"started_at": "2026-01-23T11:36:57Z",
"updated_at": "2026-01-23T11:39:58Z",
"job_id": 29220,
"duration_seconds": 181
},
{
"language": "rust",
"status": "Passed",
"queued_duration": 70.017294,
"started_at": "2026-01-23T11:37:54Z",
"updated_at": "2026-01-23T11:40:50Z",
"job_id": 29236,
"duration_seconds": 176
},
{
"language": "commonlisp",
"status": "Passed",
"queued_duration": 34.946612,
"started_at": "2026-01-23T11:37:18Z",
"updated_at": "2026-01-23T11:40:07Z",
"job_id": 29227,
"duration_seconds": 169
},
{
"language": "go",
"status": "Passed",
"queued_duration": 142.012079,
"started_at": "2026-01-23T11:42:26Z",
"updated_at": "2026-01-23T11:45:07Z",
"job_id": 29266,
"duration_seconds": 161
},
{
"language": "groovy",
"status": "Failed",
"queued_duration": 142.680835,
"started_at": "2026-01-23T11:42:29Z",
"updated_at": "2026-01-23T11:45:00Z",
"job_id": 29267,
"duration_seconds": 151
},
{
"language": "dart",
"status": "Passed",
"queued_duration": 188.766843,
"started_at": "2026-01-23T11:39:58Z",
"updated_at": "2026-01-23T11:42:27Z",
"job_id": 29246,
"duration_seconds": 149
},
{
"language": "fsharp",
"status": "Passed",
"queued_duration": 191.722636,
"started_at": "2026-01-23T11:40:01Z",
"updated_at": "2026-01-23T11:42:29Z",
"job_id": 29250,
"duration_seconds": 148
},
{
"language": "java",
"status": "Passed",
"queued_duration": 70.455059,
"started_at": "2026-01-23T11:37:55Z",
"updated_at": "2026-01-23T11:39:57Z",
"job_id": 29237,
"duration_seconds": 122
},
{
"language": "php",
"status": "Passed",
"queued_duration": 12.837967,
"started_at": "2026-01-23T11:36:54Z",
"updated_at": "2026-01-23T11:38:51Z",
"job_id": 29217,
"duration_seconds": 117
},
{
"language": "dotnet",
"status": "Passed",
"queued_duration": 196.557205,
"started_at": "2026-01-23T11:40:06Z",
"updated_at": "2026-01-23T11:41:58Z",
"job_id": 29252,
"duration_seconds": 112
},
{
"language": "javascript",
"status": "Passed",
"queued_duration": 10.74858,
"started_at": "2026-01-23T11:36:51Z",
"updated_at": "2026-01-23T11:38:38Z",
"job_id": 29213,
"duration_seconds": 107
},
{
"language": "perl",
"status": "Passed",
"queued_duration": 200.97553,
"started_at": "2026-01-23T11:41:59Z",
"updated_at": "2026-01-23T11:43:44Z",
"job_id": 29263,
"duration_seconds": 105
},
{
"language": "elixir",
"status": "Passed",
"queued_duration": 16.128221,
"started_at": "2026-01-23T11:36:59Z",
"updated_at": "2026-01-23T11:38:37Z",
"job_id": 29221,
"duration_seconds": 98
},
{
"language": "crystal",
"status": "Passed",
"queued_duration": 35.373324,
"started_at": "2026-01-23T11:37:19Z",
"updated_at": "2026-01-23T11:38:48Z",
"job_id": 29228,
"duration_seconds": 89
},
{
"language": "objc",
"status": "Passed",
"queued_duration": 126.054011,
"started_at": "2026-01-23T11:38:55Z",
"updated_at": "2026-01-23T11:40:18Z",
"job_id": 29245,
"duration_seconds": 83
},
{
"language": "cobol",
"status": "Passed",
"queued_duration": 111.662513,
"started_at": "2026-01-23T11:38:37Z",
"updated_at": "2026-01-23T11:39:59Z",
"job_id": 29239,
"duration_seconds": 82
},
{
"language": "fortran",
"status": "Passed",
"queued_duration": 114.265316,
"started_at": "2026-01-23T11:38:39Z",
"updated_at": "2026-01-23T11:39:58Z",
"job_id": 29240,
"duration_seconds": 79
},
{
"language": "v",
"status": "Passed",
"queued_duration": 123.287121,
"started_at": "2026-01-23T11:38:52Z",
"updated_at": "2026-01-23T11:40:10Z",
"job_id": 29244,
"duration_seconds": 78
},
{
"language": "nim",
"status": "Passed",
"queued_duration": 120.712278,
"started_at": "2026-01-23T11:38:49Z",
"updated_at": "2026-01-23T11:40:07Z",
"job_id": 29243,
"duration_seconds": 78
},
{
"language": "d",
"status": "Passed",
"queued_duration": 113.610461,
"started_at": "2026-01-23T11:38:40Z",
"updated_at": "2026-01-23T11:39:58Z",
"job_id": 29241,
"duration_seconds": 78
},
{
"language": "python",
"status": "Passed",
"queued_duration": 9.830818,
"started_at": "2026-01-23T11:36:50Z",
"updated_at": "2026-01-23T11:37:46Z",
"job_id": 29212,
"duration_seconds": 56
},
{
"language": "lua",
"status": "Passed",
"queued_duration": 13.145293,
"started_at": "2026-01-23T11:36:55Z",
"updated_at": "2026-01-23T11:37:46Z",
"job_id": 29218,
"duration_seconds": 51
},
{
"language": "typescript",
"status": "Passed",
"queued_duration": 242.356547,
"started_at": "2026-01-23T11:41:54Z",
"updated_at": "2026-01-23T11:42:29Z",
"job_id": 29259,
"duration_seconds": 35
},
{
"language": "ruby",
"status": "Passed",
"queued_duration": 242.580658,
"started_at": "2026-01-23T11:41:56Z",
"updated_at": "2026-01-23T11:42:29Z",
"job_id": 29260,
"duration_seconds": 33
},
{
"language": "powershell",
"status": "Passed",
"queued_duration": 242.868492,
"started_at": "2026-01-23T11:41:57Z",
"updated_at": "2026-01-23T11:42:27Z",
"job_id": 29261,
"duration_seconds": 30
},
{
"language": "erlang",
"status": "Passed",
"queued_duration": 193.375115,
"started_at": "2026-01-23T11:41:59Z",
"updated_at": "2026-01-23T11:42:29Z",
"job_id": 29264,
"duration_seconds": 30
},
{
"language": "bash",
"status": "Passed",
"queued_duration": 240.948353,
"started_at": "2026-01-23T11:41:58Z",
"updated_at": "2026-01-23T11:42:27Z",
"job_id": 29262,
"duration_seconds": 29
}
]
}

146
reports/4.2.10/perf.md Normal file
View file

@ -0,0 +1,146 @@
# Performance Report: 4.2.10
**Generated:** 2026-01-23T11:46:18Z
**Pipeline:** [#12089](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/12089)
## Summary
| Metric | Value |
|--------|-------|
| Total Tests | 673 |
| Passed | 671 |
| Failed | 2 |
| Pass Rate | 99.7% |
| Languages | 43 |
| Avg Duration | 153s |
| Slowest | scheme (320s) |
| Fastest | bash (29s) |
---
## Test Duration by Language
The primary performance metric - how long each language takes to run its full test suite (15 tests per language).
![Duration by Language](chart-duration-by-language.png)
**Key observations:**
- **SCHEME** and **CLOJURE** are outliers at 90+ seconds
- Most languages cluster between 20-40 seconds
- Compiled languages (red) tend to be faster than interpreted (blue)
- **BASH** is the fastest at 29 seconds
---
## Compiled vs Interpreted
Comparing performance between compiled languages (C, Go, Rust, etc.) and interpreted languages (Python, Ruby, JavaScript, etc.).
![Category Comparison](chart-category-comparison.png)
**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.
![Duration Histogram](chart-duration-histogram.png)
**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 (scheme, clojure)
---
## Speed Leaders
Side-by-side comparison of the 10 slowest and 10 fastest languages.
![Speed Leaders](chart-speed-leaders.png)
**Slowest (left):** SCHEME, CLOJURE, DENO, C, JULIA
**Fastest (right):** BASH, ERLANG, POWERSHELL, RUBY, TYPESCRIPT
---
## Queue vs Execution Time
Scatter plot showing the relationship between CI queue wait time and actual test execution time.
![Queue vs Execution](chart-queue-vs-execution.png)
**Notes:**
- Queue time is how long the job waited for a runner
- Most jobs had similar queue times (clustered vertically)
- Outliers labeled - scheme and clojure took longest to execute regardless of queue time
---
## Dashboard
Summary dashboard combining key metrics and visualizations.
![Dashboard](chart-dashboard.png)
---
## Raw Data
### Per-Language Performance
| Language | Status | Duration |
|----------|--------|----------|
| scheme | Passed | 320s |
| clojure | Passed | 310s |
| deno | Passed | 281s |
| c | Passed | 276s |
| julia | Passed | 271s |
| prolog | Passed | 262s |
| raku | Passed | 249s |
| awk | Passed | 247s |
| cpp | Passed | 242s |
| ocaml | Passed | 240s |
| kotlin | Passed | 240s |
| csharp | Passed | 235s |
| haskell | Passed | 214s |
| forth | Passed | 207s |
| tcl | Failed | 198s |
| zig | Passed | 185s |
| r | Passed | 181s |
| rust | Passed | 176s |
| commonlisp | Passed | 169s |
| go | Passed | 161s |
| groovy | Failed | 151s |
| dart | Passed | 149s |
| fsharp | Passed | 148s |
| java | Passed | 122s |
| php | Passed | 117s |
| dotnet | Passed | 112s |
| javascript | Passed | 107s |
| perl | Passed | 105s |
| elixir | Passed | 98s |
| crystal | Passed | 89s |
| objc | Passed | 83s |
| cobol | Passed | 82s |
| fortran | Passed | 79s |
| v | Passed | 78s |
| nim | Passed | 78s |
| d | Passed | 78s |
| python | Passed | 56s |
| lua | Passed | 51s |
| typescript | Passed | 35s |
| ruby | Passed | 33s |
| powershell | Passed | 30s |
| erlang | Passed | 30s |
| bash | Passed | 29s |
---
*Report generated by UN Inception CI pipeline*

View file

@ -14,3 +14,4 @@ Tracking compile and test execution times across releases.
| 4.2.7 | 2026-01-23 | 631 | 99.8% | 117s | typescript | dotnet |
| 4.2.8 | 2026-01-23 | 645 | 99.8% | 111s | kotlin | fortran |
| 4.2.9 | 2026-01-23 | 645 | 100.0% | 107s | ruby | d |
| 4.2.10 | 2026-01-23 | 673 | 99.7% | 153s | scheme | bash |