perf - Add performance report for 4.2.8 [ci skip]
This commit is contained in:
parent
0251e66249
commit
d593a671aa
3 changed files with 554 additions and 0 deletions
407
reports/4.2.8/perf.json
Normal file
407
reports/4.2.8/perf.json
Normal file
|
|
@ -0,0 +1,407 @@
|
|||
{
|
||||
"tag": "4.2.8",
|
||||
"generated_at": "2026-01-23T10:01:33Z",
|
||||
"parent_pipeline_id": 12053,
|
||||
"child_pipeline_id": 12055,
|
||||
"summary": {
|
||||
"total_tests": 645,
|
||||
"passed_tests": 644,
|
||||
"failed_tests": 1,
|
||||
"total_languages": 43,
|
||||
"passed_languages": 42,
|
||||
"avg_duration_seconds": 111,
|
||||
"max_duration_seconds": 313,
|
||||
"min_duration_seconds": 28,
|
||||
"slowest_language": "kotlin",
|
||||
"fastest_language": "fortran"
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"language": "kotlin",
|
||||
"status": "Passed",
|
||||
"queued_duration": 136.590526,
|
||||
"started_at": "2026-01-23T09:55:08Z",
|
||||
"updated_at": "2026-01-23T10:00:21Z",
|
||||
"job_id": 29036,
|
||||
"duration_seconds": 313
|
||||
},
|
||||
{
|
||||
"language": "python",
|
||||
"status": "Passed",
|
||||
"queued_duration": 9.593506,
|
||||
"started_at": "2026-01-23T09:52:54Z",
|
||||
"updated_at": "2026-01-23T09:57:07Z",
|
||||
"job_id": 29010,
|
||||
"duration_seconds": 253
|
||||
},
|
||||
{
|
||||
"language": "javascript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.202969,
|
||||
"started_at": "2026-01-23T09:52:55Z",
|
||||
"updated_at": "2026-01-23T09:57:08Z",
|
||||
"job_id": 29011,
|
||||
"duration_seconds": 253
|
||||
},
|
||||
{
|
||||
"language": "tcl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.281513,
|
||||
"started_at": "2026-01-23T09:53:03Z",
|
||||
"updated_at": "2026-01-23T09:57:10Z",
|
||||
"job_id": 29021,
|
||||
"duration_seconds": 247
|
||||
},
|
||||
{
|
||||
"language": "raku",
|
||||
"status": "Passed",
|
||||
"queued_duration": 99.988881,
|
||||
"started_at": "2026-01-23T09:54:31Z",
|
||||
"updated_at": "2026-01-23T09:58:31Z",
|
||||
"job_id": 29030,
|
||||
"duration_seconds": 240
|
||||
},
|
||||
{
|
||||
"language": "cobol",
|
||||
"status": "Passed",
|
||||
"queued_duration": 137.186053,
|
||||
"started_at": "2026-01-23T09:55:09Z",
|
||||
"updated_at": "2026-01-23T09:58:28Z",
|
||||
"job_id": 29037,
|
||||
"duration_seconds": 199
|
||||
},
|
||||
{
|
||||
"language": "zig",
|
||||
"status": "Passed",
|
||||
"queued_duration": 148.575918,
|
||||
"started_at": "2026-01-23T09:55:21Z",
|
||||
"updated_at": "2026-01-23T09:58:28Z",
|
||||
"job_id": 29040,
|
||||
"duration_seconds": 187
|
||||
},
|
||||
{
|
||||
"language": "haskell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 167.574684,
|
||||
"started_at": "2026-01-23T09:55:40Z",
|
||||
"updated_at": "2026-01-23T09:58:28Z",
|
||||
"job_id": 29046,
|
||||
"duration_seconds": 168
|
||||
},
|
||||
{
|
||||
"language": "ocaml",
|
||||
"status": "Passed",
|
||||
"queued_duration": 167.976524,
|
||||
"started_at": "2026-01-23T09:55:41Z",
|
||||
"updated_at": "2026-01-23T09:58:28Z",
|
||||
"job_id": 29047,
|
||||
"duration_seconds": 167
|
||||
},
|
||||
{
|
||||
"language": "fsharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 168.515898,
|
||||
"started_at": "2026-01-23T09:55:42Z",
|
||||
"updated_at": "2026-01-23T09:58:27Z",
|
||||
"job_id": 29048,
|
||||
"duration_seconds": 165
|
||||
},
|
||||
{
|
||||
"language": "bash",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.411241,
|
||||
"started_at": "2026-01-23T09:53:01Z",
|
||||
"updated_at": "2026-01-23T09:55:36Z",
|
||||
"job_id": 29017,
|
||||
"duration_seconds": 155
|
||||
},
|
||||
{
|
||||
"language": "elixir",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.785121,
|
||||
"started_at": "2026-01-23T09:53:02Z",
|
||||
"updated_at": "2026-01-23T09:55:09Z",
|
||||
"job_id": 29019,
|
||||
"duration_seconds": 127
|
||||
},
|
||||
{
|
||||
"language": "r",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.654547,
|
||||
"started_at": "2026-01-23T09:53:02Z",
|
||||
"updated_at": "2026-01-23T09:55:08Z",
|
||||
"job_id": 29018,
|
||||
"duration_seconds": 126
|
||||
},
|
||||
{
|
||||
"language": "d",
|
||||
"status": "Passed",
|
||||
"queued_duration": 138.183743,
|
||||
"started_at": "2026-01-23T09:55:10Z",
|
||||
"updated_at": "2026-01-23T09:57:10Z",
|
||||
"job_id": 29039,
|
||||
"duration_seconds": 120
|
||||
},
|
||||
{
|
||||
"language": "v",
|
||||
"status": "Passed",
|
||||
"queued_duration": 165.325427,
|
||||
"started_at": "2026-01-23T09:55:38Z",
|
||||
"updated_at": "2026-01-23T09:57:27Z",
|
||||
"job_id": 29042,
|
||||
"duration_seconds": 109
|
||||
},
|
||||
{
|
||||
"language": "dotnet",
|
||||
"status": "Passed",
|
||||
"queued_duration": 169.702089,
|
||||
"started_at": "2026-01-23T09:55:43Z",
|
||||
"updated_at": "2026-01-23T09:57:25Z",
|
||||
"job_id": 29050,
|
||||
"duration_seconds": 102
|
||||
},
|
||||
{
|
||||
"language": "typescript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 11.175115,
|
||||
"started_at": "2026-01-23T09:52:56Z",
|
||||
"updated_at": "2026-01-23T09:54:30Z",
|
||||
"job_id": 29012,
|
||||
"duration_seconds": 94
|
||||
},
|
||||
{
|
||||
"language": "ruby",
|
||||
"status": "Passed",
|
||||
"queued_duration": 11.592752,
|
||||
"started_at": "2026-01-23T09:52:57Z",
|
||||
"updated_at": "2026-01-23T09:54:30Z",
|
||||
"job_id": 29013,
|
||||
"duration_seconds": 93
|
||||
},
|
||||
{
|
||||
"language": "nim",
|
||||
"status": "Passed",
|
||||
"queued_duration": 163.317663,
|
||||
"started_at": "2026-01-23T09:55:36Z",
|
||||
"updated_at": "2026-01-23T09:57:09Z",
|
||||
"job_id": 29041,
|
||||
"duration_seconds": 93
|
||||
},
|
||||
{
|
||||
"language": "php",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.971526,
|
||||
"started_at": "2026-01-23T09:52:59Z",
|
||||
"updated_at": "2026-01-23T09:54:30Z",
|
||||
"job_id": 29015,
|
||||
"duration_seconds": 91
|
||||
},
|
||||
{
|
||||
"language": "perl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.049815,
|
||||
"started_at": "2026-01-23T09:52:58Z",
|
||||
"updated_at": "2026-01-23T09:54:29Z",
|
||||
"job_id": 29014,
|
||||
"duration_seconds": 91
|
||||
},
|
||||
{
|
||||
"language": "dart",
|
||||
"status": "Passed",
|
||||
"queued_duration": 166.482207,
|
||||
"started_at": "2026-01-23T09:55:39Z",
|
||||
"updated_at": "2026-01-23T09:57:09Z",
|
||||
"job_id": 29044,
|
||||
"duration_seconds": 90
|
||||
},
|
||||
{
|
||||
"language": "objc",
|
||||
"status": "Passed",
|
||||
"queued_duration": 166.035637,
|
||||
"started_at": "2026-01-23T09:55:39Z",
|
||||
"updated_at": "2026-01-23T09:57:08Z",
|
||||
"job_id": 29043,
|
||||
"duration_seconds": 89
|
||||
},
|
||||
{
|
||||
"language": "julia",
|
||||
"status": "Passed",
|
||||
"queued_duration": 167.035877,
|
||||
"started_at": "2026-01-23T09:55:40Z",
|
||||
"updated_at": "2026-01-23T09:57:08Z",
|
||||
"job_id": 29045,
|
||||
"duration_seconds": 88
|
||||
},
|
||||
{
|
||||
"language": "csharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 168.981467,
|
||||
"started_at": "2026-01-23T09:55:42Z",
|
||||
"updated_at": "2026-01-23T09:57:09Z",
|
||||
"job_id": 29049,
|
||||
"duration_seconds": 87
|
||||
},
|
||||
{
|
||||
"language": "lua",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.699485,
|
||||
"started_at": "2026-01-23T09:53:00Z",
|
||||
"updated_at": "2026-01-23T09:54:24Z",
|
||||
"job_id": 29016,
|
||||
"duration_seconds": 84
|
||||
},
|
||||
{
|
||||
"language": "prolog",
|
||||
"status": "Passed",
|
||||
"queued_duration": 254.011773,
|
||||
"started_at": "2026-01-23T09:57:07Z",
|
||||
"updated_at": "2026-01-23T09:58:28Z",
|
||||
"job_id": 29051,
|
||||
"duration_seconds": 81
|
||||
},
|
||||
{
|
||||
"language": "forth",
|
||||
"status": "Passed",
|
||||
"queued_duration": 255.663611,
|
||||
"started_at": "2026-01-23T09:57:09Z",
|
||||
"updated_at": "2026-01-23T09:58:27Z",
|
||||
"job_id": 29052,
|
||||
"duration_seconds": 78
|
||||
},
|
||||
{
|
||||
"language": "erlang",
|
||||
"status": "Failed",
|
||||
"queued_duration": 97.250125,
|
||||
"started_at": "2026-01-23T09:57:13Z",
|
||||
"updated_at": "2026-01-23T09:58:28Z",
|
||||
"job_id": 29077,
|
||||
"duration_seconds": 75
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 101.0849,
|
||||
"started_at": "2026-01-23T09:54:32Z",
|
||||
"updated_at": "2026-01-23T09:55:38Z",
|
||||
"job_id": 29032,
|
||||
"duration_seconds": 66
|
||||
},
|
||||
{
|
||||
"language": "c",
|
||||
"status": "Passed",
|
||||
"queued_duration": 100.476592,
|
||||
"started_at": "2026-01-23T09:54:32Z",
|
||||
"updated_at": "2026-01-23T09:55:38Z",
|
||||
"job_id": 29031,
|
||||
"duration_seconds": 66
|
||||
},
|
||||
{
|
||||
"language": "go",
|
||||
"status": "Passed",
|
||||
"queued_duration": 101.50214,
|
||||
"started_at": "2026-01-23T09:54:33Z",
|
||||
"updated_at": "2026-01-23T09:55:37Z",
|
||||
"job_id": 29033,
|
||||
"duration_seconds": 64
|
||||
},
|
||||
{
|
||||
"language": "awk",
|
||||
"status": "Passed",
|
||||
"queued_duration": 99.622835,
|
||||
"started_at": "2026-01-23T09:54:31Z",
|
||||
"updated_at": "2026-01-23T09:55:35Z",
|
||||
"job_id": 29029,
|
||||
"duration_seconds": 64
|
||||
},
|
||||
{
|
||||
"language": "rust",
|
||||
"status": "Passed",
|
||||
"queued_duration": 103.812598,
|
||||
"started_at": "2026-01-23T09:54:35Z",
|
||||
"updated_at": "2026-01-23T09:55:38Z",
|
||||
"job_id": 29034,
|
||||
"duration_seconds": 63
|
||||
},
|
||||
{
|
||||
"language": "scheme",
|
||||
"status": "Passed",
|
||||
"queued_duration": 43.345603,
|
||||
"started_at": "2026-01-23T09:53:33Z",
|
||||
"updated_at": "2026-01-23T09:54:28Z",
|
||||
"job_id": 29022,
|
||||
"duration_seconds": 55
|
||||
},
|
||||
{
|
||||
"language": "commonlisp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 43.892737,
|
||||
"started_at": "2026-01-23T09:53:34Z",
|
||||
"updated_at": "2026-01-23T09:54:27Z",
|
||||
"job_id": 29025,
|
||||
"duration_seconds": 53
|
||||
},
|
||||
{
|
||||
"language": "clojure",
|
||||
"status": "Passed",
|
||||
"queued_duration": 44.021692,
|
||||
"started_at": "2026-01-23T09:53:34Z",
|
||||
"updated_at": "2026-01-23T09:54:27Z",
|
||||
"job_id": 29024,
|
||||
"duration_seconds": 53
|
||||
},
|
||||
{
|
||||
"language": "deno",
|
||||
"status": "Passed",
|
||||
"queued_duration": 98.583371,
|
||||
"started_at": "2026-01-23T09:54:29Z",
|
||||
"updated_at": "2026-01-23T09:55:21Z",
|
||||
"job_id": 29028,
|
||||
"duration_seconds": 52
|
||||
},
|
||||
{
|
||||
"language": "powershell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 43.813771,
|
||||
"started_at": "2026-01-23T09:53:33Z",
|
||||
"updated_at": "2026-01-23T09:54:24Z",
|
||||
"job_id": 29023,
|
||||
"duration_seconds": 51
|
||||
},
|
||||
{
|
||||
"language": "java",
|
||||
"status": "Passed",
|
||||
"queued_duration": 121.067188,
|
||||
"started_at": "2026-01-23T09:54:53Z",
|
||||
"updated_at": "2026-01-23T09:55:38Z",
|
||||
"job_id": 29035,
|
||||
"duration_seconds": 45
|
||||
},
|
||||
{
|
||||
"language": "crystal",
|
||||
"status": "Passed",
|
||||
"queued_duration": 94.247114,
|
||||
"started_at": "2026-01-23T09:54:25Z",
|
||||
"updated_at": "2026-01-23T09:55:09Z",
|
||||
"job_id": 29026,
|
||||
"duration_seconds": 44
|
||||
},
|
||||
{
|
||||
"language": "groovy",
|
||||
"status": "Passed",
|
||||
"queued_duration": 96.81373,
|
||||
"started_at": "2026-01-23T09:54:28Z",
|
||||
"updated_at": "2026-01-23T09:55:09Z",
|
||||
"job_id": 29027,
|
||||
"duration_seconds": 41
|
||||
},
|
||||
{
|
||||
"language": "fortran",
|
||||
"status": "Passed",
|
||||
"queued_duration": 137.615979,
|
||||
"started_at": "2026-01-23T09:55:10Z",
|
||||
"updated_at": "2026-01-23T09:55:38Z",
|
||||
"job_id": 29038,
|
||||
"duration_seconds": 28
|
||||
}
|
||||
]
|
||||
}
|
||||
146
reports/4.2.8/perf.md
Normal file
146
reports/4.2.8/perf.md
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
# Performance Report: 4.2.8
|
||||
|
||||
**Generated:** 2026-01-23T10:01:33Z
|
||||
**Pipeline:** [#12055](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/12055)
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Tests | 645 |
|
||||
| Passed | 644 |
|
||||
| Failed | 1 |
|
||||
| Pass Rate | 99.8% |
|
||||
| Languages | 43 |
|
||||
| Avg Duration | 111s |
|
||||
| Slowest | kotlin (313s) |
|
||||
| Fastest | fortran (28s) |
|
||||
|
||||
---
|
||||
|
||||
## 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:**
|
||||
- **KOTLIN** and **PYTHON** are outliers at 90+ seconds
|
||||
- Most languages cluster between 20-40 seconds
|
||||
- Compiled languages (red) tend to be faster than interpreted (blue)
|
||||
- **FORTRAN** is the fastest at 28 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 (kotlin, python)
|
||||
|
||||
---
|
||||
|
||||
## Speed Leaders
|
||||
|
||||
Side-by-side comparison of the 10 slowest and 10 fastest languages.
|
||||
|
||||

|
||||
|
||||
**Slowest (left):** KOTLIN, PYTHON, JAVASCRIPT, TCL, RAKU
|
||||
**Fastest (right):** FORTRAN, GROOVY, CRYSTAL, JAVA, POWERSHELL
|
||||
|
||||
---
|
||||
|
||||
## 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 - kotlin and python took longest to execute regardless of queue time
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
Summary dashboard combining key metrics and visualizations.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Raw Data
|
||||
|
||||
### Per-Language Performance
|
||||
|
||||
| Language | Status | Duration |
|
||||
|----------|--------|----------|
|
||||
| kotlin | Passed | 313s |
|
||||
| python | Passed | 253s |
|
||||
| javascript | Passed | 253s |
|
||||
| tcl | Passed | 247s |
|
||||
| raku | Passed | 240s |
|
||||
| cobol | Passed | 199s |
|
||||
| zig | Passed | 187s |
|
||||
| haskell | Passed | 168s |
|
||||
| ocaml | Passed | 167s |
|
||||
| fsharp | Passed | 165s |
|
||||
| bash | Passed | 155s |
|
||||
| elixir | Passed | 127s |
|
||||
| r | Passed | 126s |
|
||||
| d | Passed | 120s |
|
||||
| v | Passed | 109s |
|
||||
| dotnet | Passed | 102s |
|
||||
| typescript | Passed | 94s |
|
||||
| ruby | Passed | 93s |
|
||||
| nim | Passed | 93s |
|
||||
| php | Passed | 91s |
|
||||
| perl | Passed | 91s |
|
||||
| dart | Passed | 90s |
|
||||
| objc | Passed | 89s |
|
||||
| julia | Passed | 88s |
|
||||
| csharp | Passed | 87s |
|
||||
| lua | Passed | 84s |
|
||||
| prolog | Passed | 81s |
|
||||
| forth | Passed | 78s |
|
||||
| erlang | Failed | 75s |
|
||||
| cpp | Passed | 66s |
|
||||
| c | Passed | 66s |
|
||||
| go | Passed | 64s |
|
||||
| awk | Passed | 64s |
|
||||
| rust | Passed | 63s |
|
||||
| scheme | Passed | 55s |
|
||||
| commonlisp | Passed | 53s |
|
||||
| clojure | Passed | 53s |
|
||||
| deno | Passed | 52s |
|
||||
| powershell | Passed | 51s |
|
||||
| java | Passed | 45s |
|
||||
| crystal | Passed | 44s |
|
||||
| groovy | Passed | 41s |
|
||||
| fortran | Passed | 28s |
|
||||
|
||||
---
|
||||
|
||||
*Report generated by UN Inception CI pipeline*
|
||||
|
|
@ -12,3 +12,4 @@ Tracking compile and test execution times across releases.
|
|||
| 4.2.5 | 2026-01-19 | 658 | 100.0% | 67s | v | erlang |
|
||||
| 4.2.6 | 2026-01-19 | 642 | 100.0% | 54s | haskell | awk |
|
||||
| 4.2.7 | 2026-01-23 | 631 | 99.8% | 117s | typescript | dotnet |
|
||||
| 4.2.8 | 2026-01-23 | 645 | 99.8% | 111s | kotlin | fortran |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue