Reapply "chore: Remove reports directory"
This reverts commit 7319c005d6.
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
|
@ -1,398 +0,0 @@
|
|||
{
|
||||
"tag": "4.2.0",
|
||||
"generated_at": "2026-01-18T23:20:51Z",
|
||||
"parent_pipeline_id": 11103,
|
||||
"child_pipeline_id": 11105,
|
||||
"summary": {
|
||||
"total_tests": 642,
|
||||
"passed_tests": 642,
|
||||
"failed_tests": 0,
|
||||
"total_languages": 42,
|
||||
"passed_languages": 42,
|
||||
"avg_duration_seconds": 33,
|
||||
"max_duration_seconds": 93,
|
||||
"min_duration_seconds": 19,
|
||||
"slowest_language": "raku",
|
||||
"fastest_language": "ocaml"
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"language": "raku",
|
||||
"status": "Passed",
|
||||
"queued_duration": 45.874547,
|
||||
"started_at": "2026-01-18T23:19:08Z",
|
||||
"updated_at": "2026-01-18T23:20:41Z",
|
||||
"job_id": 25987,
|
||||
"duration_seconds": 93
|
||||
},
|
||||
{
|
||||
"language": "javascript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 45.713228,
|
||||
"started_at": "2026-01-18T23:19:09Z",
|
||||
"updated_at": "2026-01-18T23:20:39Z",
|
||||
"job_id": 25988,
|
||||
"duration_seconds": 90
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 47.639099,
|
||||
"started_at": "2026-01-18T23:19:11Z",
|
||||
"updated_at": "2026-01-18T23:20:17Z",
|
||||
"job_id": 25989,
|
||||
"duration_seconds": 66
|
||||
},
|
||||
{
|
||||
"language": "rust",
|
||||
"status": "Passed",
|
||||
"queued_duration": 68.252862,
|
||||
"started_at": "2026-01-18T23:18:14Z",
|
||||
"updated_at": "2026-01-18T23:19:18Z",
|
||||
"job_id": 25949,
|
||||
"duration_seconds": 64
|
||||
},
|
||||
{
|
||||
"language": "go",
|
||||
"status": "Passed",
|
||||
"queued_duration": 63.143834,
|
||||
"started_at": "2026-01-18T23:18:09Z",
|
||||
"updated_at": "2026-01-18T23:19:02Z",
|
||||
"job_id": 25948,
|
||||
"duration_seconds": 53
|
||||
},
|
||||
{
|
||||
"language": "prolog",
|
||||
"status": "Passed",
|
||||
"queued_duration": 78.429367,
|
||||
"started_at": "2026-01-18T23:18:28Z",
|
||||
"updated_at": "2026-01-18T23:19:18Z",
|
||||
"job_id": 25965,
|
||||
"duration_seconds": 50
|
||||
},
|
||||
{
|
||||
"language": "bash",
|
||||
"status": "Passed",
|
||||
"queued_duration": 21.829044,
|
||||
"started_at": "2026-01-18T23:18:29Z",
|
||||
"updated_at": "2026-01-18T23:19:12Z",
|
||||
"job_id": 25969,
|
||||
"duration_seconds": 43
|
||||
},
|
||||
{
|
||||
"language": "forth",
|
||||
"status": "Passed",
|
||||
"queued_duration": 79.501956,
|
||||
"started_at": "2026-01-18T23:18:28Z",
|
||||
"updated_at": "2026-01-18T23:19:10Z",
|
||||
"job_id": 25966,
|
||||
"duration_seconds": 42
|
||||
},
|
||||
{
|
||||
"language": "python",
|
||||
"status": "Passed",
|
||||
"queued_duration": 3.233989,
|
||||
"started_at": "2026-01-18T23:17:03Z",
|
||||
"updated_at": "2026-01-18T23:17:43Z",
|
||||
"job_id": 25925,
|
||||
"duration_seconds": 40
|
||||
},
|
||||
{
|
||||
"language": "powershell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 20.769991,
|
||||
"started_at": "2026-01-18T23:18:29Z",
|
||||
"updated_at": "2026-01-18T23:19:08Z",
|
||||
"job_id": 25970,
|
||||
"duration_seconds": 39
|
||||
},
|
||||
{
|
||||
"language": "java",
|
||||
"status": "Passed",
|
||||
"queued_duration": 69.848299,
|
||||
"started_at": "2026-01-18T23:18:16Z",
|
||||
"updated_at": "2026-01-18T23:18:52Z",
|
||||
"job_id": 25950,
|
||||
"duration_seconds": 36
|
||||
},
|
||||
{
|
||||
"language": "ruby",
|
||||
"status": "Passed",
|
||||
"queued_duration": 7.238856,
|
||||
"started_at": "2026-01-18T23:17:07Z",
|
||||
"updated_at": "2026-01-18T23:17:42Z",
|
||||
"job_id": 25928,
|
||||
"duration_seconds": 35
|
||||
},
|
||||
{
|
||||
"language": "d",
|
||||
"status": "Passed",
|
||||
"queued_duration": 72.304204,
|
||||
"started_at": "2026-01-18T23:18:19Z",
|
||||
"updated_at": "2026-01-18T23:18:52Z",
|
||||
"job_id": 25954,
|
||||
"duration_seconds": 33
|
||||
},
|
||||
{
|
||||
"language": "zig",
|
||||
"status": "Passed",
|
||||
"queued_duration": 72.953565,
|
||||
"started_at": "2026-01-18T23:18:20Z",
|
||||
"updated_at": "2026-01-18T23:18:52Z",
|
||||
"job_id": 25955,
|
||||
"duration_seconds": 32
|
||||
},
|
||||
{
|
||||
"language": "lua",
|
||||
"status": "Passed",
|
||||
"queued_duration": 29.233779,
|
||||
"started_at": "2026-01-18T23:18:38Z",
|
||||
"updated_at": "2026-01-18T23:19:10Z",
|
||||
"job_id": 25971,
|
||||
"duration_seconds": 32
|
||||
},
|
||||
{
|
||||
"language": "julia",
|
||||
"status": "Passed",
|
||||
"queued_duration": 76.620144,
|
||||
"started_at": "2026-01-18T23:18:24Z",
|
||||
"updated_at": "2026-01-18T23:18:56Z",
|
||||
"job_id": 25960,
|
||||
"duration_seconds": 32
|
||||
},
|
||||
{
|
||||
"language": "nim",
|
||||
"status": "Passed",
|
||||
"queued_duration": 73.5841,
|
||||
"started_at": "2026-01-18T23:18:21Z",
|
||||
"updated_at": "2026-01-18T23:18:52Z",
|
||||
"job_id": 25956,
|
||||
"duration_seconds": 31
|
||||
},
|
||||
{
|
||||
"language": "commonlisp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 45.039873,
|
||||
"started_at": "2026-01-18T23:19:02Z",
|
||||
"updated_at": "2026-01-18T23:19:32Z",
|
||||
"job_id": 25986,
|
||||
"duration_seconds": 30
|
||||
},
|
||||
{
|
||||
"language": "typescript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 32.115787,
|
||||
"started_at": "2026-01-18T23:18:44Z",
|
||||
"updated_at": "2026-01-18T23:19:13Z",
|
||||
"job_id": 25973,
|
||||
"duration_seconds": 29
|
||||
},
|
||||
{
|
||||
"language": "objc",
|
||||
"status": "Passed",
|
||||
"queued_duration": 75.636115,
|
||||
"started_at": "2026-01-18T23:18:23Z",
|
||||
"updated_at": "2026-01-18T23:18:52Z",
|
||||
"job_id": 25958,
|
||||
"duration_seconds": 29
|
||||
},
|
||||
{
|
||||
"language": "erlang",
|
||||
"status": "Passed",
|
||||
"queued_duration": 32.710848,
|
||||
"started_at": "2026-01-18T23:18:45Z",
|
||||
"updated_at": "2026-01-18T23:19:14Z",
|
||||
"job_id": 25974,
|
||||
"duration_seconds": 29
|
||||
},
|
||||
{
|
||||
"language": "dart",
|
||||
"status": "Passed",
|
||||
"queued_duration": 76.000909,
|
||||
"started_at": "2026-01-18T23:18:24Z",
|
||||
"updated_at": "2026-01-18T23:18:52Z",
|
||||
"job_id": 25959,
|
||||
"duration_seconds": 28
|
||||
},
|
||||
{
|
||||
"language": "kotlin",
|
||||
"status": "Passed",
|
||||
"queued_duration": 71.065836,
|
||||
"started_at": "2026-01-18T23:18:17Z",
|
||||
"updated_at": "2026-01-18T23:18:44Z",
|
||||
"job_id": 25951,
|
||||
"duration_seconds": 27
|
||||
},
|
||||
{
|
||||
"language": "perl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 34.240776,
|
||||
"started_at": "2026-01-18T23:18:46Z",
|
||||
"updated_at": "2026-01-18T23:19:12Z",
|
||||
"job_id": 25975,
|
||||
"duration_seconds": 26
|
||||
},
|
||||
{
|
||||
"language": "fsharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 77.832273,
|
||||
"started_at": "2026-01-18T23:18:26Z",
|
||||
"updated_at": "2026-01-18T23:18:52Z",
|
||||
"job_id": 25963,
|
||||
"duration_seconds": 26
|
||||
},
|
||||
{
|
||||
"language": "r",
|
||||
"status": "Passed",
|
||||
"queued_duration": 33.605649,
|
||||
"started_at": "2026-01-18T23:18:47Z",
|
||||
"updated_at": "2026-01-18T23:19:12Z",
|
||||
"job_id": 25976,
|
||||
"duration_seconds": 25
|
||||
},
|
||||
{
|
||||
"language": "fortran",
|
||||
"status": "Passed",
|
||||
"queued_duration": 71.844626,
|
||||
"started_at": "2026-01-18T23:18:18Z",
|
||||
"updated_at": "2026-01-18T23:18:43Z",
|
||||
"job_id": 25953,
|
||||
"duration_seconds": 25
|
||||
},
|
||||
{
|
||||
"language": "deno",
|
||||
"status": "Passed",
|
||||
"queued_duration": 38.323477,
|
||||
"started_at": "2026-01-18T23:18:53Z",
|
||||
"updated_at": "2026-01-18T23:19:18Z",
|
||||
"job_id": 25980,
|
||||
"duration_seconds": 25
|
||||
},
|
||||
{
|
||||
"language": "awk",
|
||||
"status": "Passed",
|
||||
"queued_duration": 32.582507,
|
||||
"started_at": "2026-01-18T23:18:43Z",
|
||||
"updated_at": "2026-01-18T23:19:08Z",
|
||||
"job_id": 25972,
|
||||
"duration_seconds": 25
|
||||
},
|
||||
{
|
||||
"language": "scheme",
|
||||
"status": "Passed",
|
||||
"queued_duration": 34.230634,
|
||||
"started_at": "2026-01-18T23:18:48Z",
|
||||
"updated_at": "2026-01-18T23:19:12Z",
|
||||
"job_id": 25977,
|
||||
"duration_seconds": 24
|
||||
},
|
||||
{
|
||||
"language": "crystal",
|
||||
"status": "Passed",
|
||||
"queued_duration": 37.272444,
|
||||
"started_at": "2026-01-18T23:18:52Z",
|
||||
"updated_at": "2026-01-18T23:19:16Z",
|
||||
"job_id": 25978,
|
||||
"duration_seconds": 24
|
||||
},
|
||||
{
|
||||
"language": "php",
|
||||
"status": "Passed",
|
||||
"queued_duration": 38.391039,
|
||||
"started_at": "2026-01-18T23:18:54Z",
|
||||
"updated_at": "2026-01-18T23:19:17Z",
|
||||
"job_id": 25982,
|
||||
"duration_seconds": 23
|
||||
},
|
||||
{
|
||||
"language": "groovy",
|
||||
"status": "Passed",
|
||||
"queued_duration": 37.701182,
|
||||
"started_at": "2026-01-18T23:18:54Z",
|
||||
"updated_at": "2026-01-18T23:19:17Z",
|
||||
"job_id": 25981,
|
||||
"duration_seconds": 23
|
||||
},
|
||||
{
|
||||
"language": "c",
|
||||
"status": "Passed",
|
||||
"queued_duration": 38.530095,
|
||||
"started_at": "2026-01-18T23:18:55Z",
|
||||
"updated_at": "2026-01-18T23:19:18Z",
|
||||
"job_id": 25983,
|
||||
"duration_seconds": 23
|
||||
},
|
||||
{
|
||||
"language": "v",
|
||||
"status": "Passed",
|
||||
"queued_duration": 74.589707,
|
||||
"started_at": "2026-01-18T23:18:22Z",
|
||||
"updated_at": "2026-01-18T23:18:44Z",
|
||||
"job_id": 25957,
|
||||
"duration_seconds": 22
|
||||
},
|
||||
{
|
||||
"language": "haskell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 76.893928,
|
||||
"started_at": "2026-01-18T23:18:25Z",
|
||||
"updated_at": "2026-01-18T23:18:46Z",
|
||||
"job_id": 25961,
|
||||
"duration_seconds": 21
|
||||
},
|
||||
{
|
||||
"language": "clojure",
|
||||
"status": "Passed",
|
||||
"queued_duration": 40.587515,
|
||||
"started_at": "2026-01-18T23:18:57Z",
|
||||
"updated_at": "2026-01-18T23:19:18Z",
|
||||
"job_id": 25985,
|
||||
"duration_seconds": 21
|
||||
},
|
||||
{
|
||||
"language": "tcl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 38.346762,
|
||||
"started_at": "2026-01-18T23:18:53Z",
|
||||
"updated_at": "2026-01-18T23:19:13Z",
|
||||
"job_id": 25979,
|
||||
"duration_seconds": 20
|
||||
},
|
||||
{
|
||||
"language": "elixir",
|
||||
"status": "Passed",
|
||||
"queued_duration": 39.917498,
|
||||
"started_at": "2026-01-18T23:18:56Z",
|
||||
"updated_at": "2026-01-18T23:19:16Z",
|
||||
"job_id": 25984,
|
||||
"duration_seconds": 20
|
||||
},
|
||||
{
|
||||
"language": "csharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 82.081382,
|
||||
"started_at": "2026-01-18T23:18:27Z",
|
||||
"updated_at": "2026-01-18T23:18:47Z",
|
||||
"job_id": 25964,
|
||||
"duration_seconds": 20
|
||||
},
|
||||
{
|
||||
"language": "cobol",
|
||||
"status": "Passed",
|
||||
"queued_duration": 71.526724,
|
||||
"started_at": "2026-01-18T23:18:18Z",
|
||||
"updated_at": "2026-01-18T23:18:38Z",
|
||||
"job_id": 25952,
|
||||
"duration_seconds": 20
|
||||
},
|
||||
{
|
||||
"language": "ocaml",
|
||||
"status": "Passed",
|
||||
"queued_duration": 77.121164,
|
||||
"started_at": "2026-01-18T23:18:26Z",
|
||||
"updated_at": "2026-01-18T23:18:45Z",
|
||||
"job_id": 25962,
|
||||
"duration_seconds": 19
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Performance Report: 4.2.0
|
||||
|
||||
**Generated:** 2026-01-19T01:08:20Z
|
||||
**Pipeline:** [#11105](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/11105)
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Tests | 642 |
|
||||
| Passed | 642 |
|
||||
| Failed | 0 |
|
||||
| Pass Rate | 100.0% |
|
||||
| Languages | 42 |
|
||||
| Avg Duration | 33s |
|
||||
| Slowest | raku (93s) |
|
||||
| Fastest | ocaml (19s) |
|
||||
|
||||
---
|
||||
|
||||
## 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:**
|
||||
- **RAKU** and **JAVASCRIPT** are outliers at 90+ seconds
|
||||
- Most languages cluster between 20-40 seconds
|
||||
- Compiled languages (red) tend to be faster than interpreted (blue)
|
||||
- **OCAML** is the fastest at 19 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 42 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 (raku, javascript)
|
||||
|
||||
---
|
||||
|
||||
## Speed Leaders
|
||||
|
||||
Side-by-side comparison of the 10 slowest and 10 fastest languages.
|
||||
|
||||

|
||||
|
||||
**Slowest (left):** RAKU, JAVASCRIPT, CPP, RUST, GO
|
||||
**Fastest (right):** OCAML, COBOL, CSHARP, ELIXIR, TCL
|
||||
|
||||
---
|
||||
|
||||
## 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 - raku and javascript took longest to execute regardless of queue time
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
Summary dashboard combining key metrics and visualizations.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Raw Data
|
||||
|
||||
### Per-Language Performance
|
||||
|
||||
| Language | Status | Duration |
|
||||
|----------|--------|----------|
|
||||
| raku | Passed | 93s |
|
||||
| javascript | Passed | 90s |
|
||||
| cpp | Passed | 66s |
|
||||
| rust | Passed | 64s |
|
||||
| go | Passed | 53s |
|
||||
| prolog | Passed | 50s |
|
||||
| bash | Passed | 43s |
|
||||
| forth | Passed | 42s |
|
||||
| python | Passed | 40s |
|
||||
| powershell | Passed | 39s |
|
||||
| java | Passed | 36s |
|
||||
| ruby | Passed | 35s |
|
||||
| d | Passed | 33s |
|
||||
| zig | Passed | 32s |
|
||||
| lua | Passed | 32s |
|
||||
| julia | Passed | 32s |
|
||||
| nim | Passed | 31s |
|
||||
| commonlisp | Passed | 30s |
|
||||
| typescript | Passed | 29s |
|
||||
| objc | Passed | 29s |
|
||||
| erlang | Passed | 29s |
|
||||
| dart | Passed | 28s |
|
||||
| kotlin | Passed | 27s |
|
||||
| perl | Passed | 26s |
|
||||
| fsharp | Passed | 26s |
|
||||
| r | Passed | 25s |
|
||||
| fortran | Passed | 25s |
|
||||
| deno | Passed | 25s |
|
||||
| awk | Passed | 25s |
|
||||
| scheme | Passed | 24s |
|
||||
| crystal | Passed | 24s |
|
||||
| php | Passed | 23s |
|
||||
| groovy | Passed | 23s |
|
||||
| c | Passed | 23s |
|
||||
| v | Passed | 22s |
|
||||
| haskell | Passed | 21s |
|
||||
| clojure | Passed | 21s |
|
||||
| tcl | Passed | 20s |
|
||||
| elixir | Passed | 20s |
|
||||
| csharp | Passed | 20s |
|
||||
| cobol | Passed | 20s |
|
||||
| ocaml | Passed | 19s |
|
||||
|
||||
---
|
||||
|
||||
*Report generated by UN Inception CI pipeline*
|
||||
|
|
@ -1,398 +0,0 @@
|
|||
{
|
||||
"tag": "4.2.3",
|
||||
"generated_at": "2026-01-19T11:58:45Z",
|
||||
"parent_pipeline_id": 11250,
|
||||
"child_pipeline_id": 11252,
|
||||
"summary": {
|
||||
"total_tests": 642,
|
||||
"passed_tests": 642,
|
||||
"failed_tests": 0,
|
||||
"total_languages": 42,
|
||||
"passed_languages": 42,
|
||||
"avg_duration_seconds": 63,
|
||||
"max_duration_seconds": 142,
|
||||
"min_duration_seconds": 40,
|
||||
"slowest_language": "rust",
|
||||
"fastest_language": "v"
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"language": "rust",
|
||||
"status": "Passed",
|
||||
"queued_duration": 71.959997,
|
||||
"started_at": "2026-01-19T11:55:11Z",
|
||||
"updated_at": "2026-01-19T11:57:33Z",
|
||||
"job_id": 26613,
|
||||
"duration_seconds": 142
|
||||
},
|
||||
{
|
||||
"language": "c",
|
||||
"status": "Passed",
|
||||
"queued_duration": 63.135606,
|
||||
"started_at": "2026-01-19T11:55:02Z",
|
||||
"updated_at": "2026-01-19T11:56:49Z",
|
||||
"job_id": 26610,
|
||||
"duration_seconds": 107
|
||||
},
|
||||
{
|
||||
"language": "python",
|
||||
"status": "Passed",
|
||||
"queued_duration": 2.62747,
|
||||
"started_at": "2026-01-19T11:53:59Z",
|
||||
"updated_at": "2026-01-19T11:55:17Z",
|
||||
"job_id": 26589,
|
||||
"duration_seconds": 78
|
||||
},
|
||||
{
|
||||
"language": "typescript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 4.499905,
|
||||
"started_at": "2026-01-19T11:54:01Z",
|
||||
"updated_at": "2026-01-19T11:55:16Z",
|
||||
"job_id": 26591,
|
||||
"duration_seconds": 75
|
||||
},
|
||||
{
|
||||
"language": "javascript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 3.602933,
|
||||
"started_at": "2026-01-19T11:54:00Z",
|
||||
"updated_at": "2026-01-19T11:55:15Z",
|
||||
"job_id": 26590,
|
||||
"duration_seconds": 75
|
||||
},
|
||||
{
|
||||
"language": "ruby",
|
||||
"status": "Passed",
|
||||
"queued_duration": 5.394929,
|
||||
"started_at": "2026-01-19T11:54:02Z",
|
||||
"updated_at": "2026-01-19T11:55:16Z",
|
||||
"job_id": 26592,
|
||||
"duration_seconds": 74
|
||||
},
|
||||
{
|
||||
"language": "go",
|
||||
"status": "Passed",
|
||||
"queued_duration": 68.583599,
|
||||
"started_at": "2026-01-19T11:55:07Z",
|
||||
"updated_at": "2026-01-19T11:56:21Z",
|
||||
"job_id": 26612,
|
||||
"duration_seconds": 74
|
||||
},
|
||||
{
|
||||
"language": "php",
|
||||
"status": "Passed",
|
||||
"queued_duration": 8.408504,
|
||||
"started_at": "2026-01-19T11:54:05Z",
|
||||
"updated_at": "2026-01-19T11:55:15Z",
|
||||
"job_id": 26594,
|
||||
"duration_seconds": 70
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 64.466934,
|
||||
"started_at": "2026-01-19T11:55:03Z",
|
||||
"updated_at": "2026-01-19T11:56:13Z",
|
||||
"job_id": 26611,
|
||||
"duration_seconds": 70
|
||||
},
|
||||
{
|
||||
"language": "elixir",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.81407,
|
||||
"started_at": "2026-01-19T11:54:08Z",
|
||||
"updated_at": "2026-01-19T11:55:17Z",
|
||||
"job_id": 26598,
|
||||
"duration_seconds": 69
|
||||
},
|
||||
{
|
||||
"language": "erlang",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.839351,
|
||||
"started_at": "2026-01-19T11:54:09Z",
|
||||
"updated_at": "2026-01-19T11:55:17Z",
|
||||
"job_id": 26599,
|
||||
"duration_seconds": 68
|
||||
},
|
||||
{
|
||||
"language": "java",
|
||||
"status": "Passed",
|
||||
"queued_duration": 74.929525,
|
||||
"started_at": "2026-01-19T11:55:14Z",
|
||||
"updated_at": "2026-01-19T11:56:21Z",
|
||||
"job_id": 26614,
|
||||
"duration_seconds": 67
|
||||
},
|
||||
{
|
||||
"language": "perl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 7.241158,
|
||||
"started_at": "2026-01-19T11:54:04Z",
|
||||
"updated_at": "2026-01-19T11:55:10Z",
|
||||
"job_id": 26593,
|
||||
"duration_seconds": 66
|
||||
},
|
||||
{
|
||||
"language": "scheme",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.492717,
|
||||
"started_at": "2026-01-19T11:54:10Z",
|
||||
"updated_at": "2026-01-19T11:55:15Z",
|
||||
"job_id": 26601,
|
||||
"duration_seconds": 65
|
||||
},
|
||||
{
|
||||
"language": "r",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.305897,
|
||||
"started_at": "2026-01-19T11:54:07Z",
|
||||
"updated_at": "2026-01-19T11:55:11Z",
|
||||
"job_id": 26597,
|
||||
"duration_seconds": 64
|
||||
},
|
||||
{
|
||||
"language": "clojure",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.554132,
|
||||
"started_at": "2026-01-19T11:54:11Z",
|
||||
"updated_at": "2026-01-19T11:55:15Z",
|
||||
"job_id": 26603,
|
||||
"duration_seconds": 64
|
||||
},
|
||||
{
|
||||
"language": "lua",
|
||||
"status": "Passed",
|
||||
"queued_duration": 9.164784,
|
||||
"started_at": "2026-01-19T11:54:06Z",
|
||||
"updated_at": "2026-01-19T11:55:09Z",
|
||||
"job_id": 26595,
|
||||
"duration_seconds": 63
|
||||
},
|
||||
{
|
||||
"language": "fortran",
|
||||
"status": "Passed",
|
||||
"queued_duration": 78.696102,
|
||||
"started_at": "2026-01-19T11:55:18Z",
|
||||
"updated_at": "2026-01-19T11:56:21Z",
|
||||
"job_id": 26617,
|
||||
"duration_seconds": 63
|
||||
},
|
||||
{
|
||||
"language": "deno",
|
||||
"status": "Passed",
|
||||
"queued_duration": 17.233968,
|
||||
"started_at": "2026-01-19T11:54:14Z",
|
||||
"updated_at": "2026-01-19T11:55:16Z",
|
||||
"job_id": 26607,
|
||||
"duration_seconds": 62
|
||||
},
|
||||
{
|
||||
"language": "zig",
|
||||
"status": "Passed",
|
||||
"queued_duration": 79.584999,
|
||||
"started_at": "2026-01-19T11:55:19Z",
|
||||
"updated_at": "2026-01-19T11:56:20Z",
|
||||
"job_id": 26619,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "tcl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 11.908211,
|
||||
"started_at": "2026-01-19T11:54:09Z",
|
||||
"updated_at": "2026-01-19T11:55:10Z",
|
||||
"job_id": 26600,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "crystal",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.494458,
|
||||
"started_at": "2026-01-19T11:54:12Z",
|
||||
"updated_at": "2026-01-19T11:55:13Z",
|
||||
"job_id": 26605,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "cobol",
|
||||
"status": "Passed",
|
||||
"queued_duration": 78.300729,
|
||||
"started_at": "2026-01-19T11:55:18Z",
|
||||
"updated_at": "2026-01-19T11:56:19Z",
|
||||
"job_id": 26616,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "groovy",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.033222,
|
||||
"started_at": "2026-01-19T11:54:13Z",
|
||||
"updated_at": "2026-01-19T11:55:13Z",
|
||||
"job_id": 26606,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "commonlisp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.101414,
|
||||
"started_at": "2026-01-19T11:54:12Z",
|
||||
"updated_at": "2026-01-19T11:55:12Z",
|
||||
"job_id": 26604,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "bash",
|
||||
"status": "Passed",
|
||||
"queued_duration": 9.608039,
|
||||
"started_at": "2026-01-19T11:54:07Z",
|
||||
"updated_at": "2026-01-19T11:55:07Z",
|
||||
"job_id": 26596,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "objc",
|
||||
"status": "Passed",
|
||||
"queued_duration": 81.357562,
|
||||
"started_at": "2026-01-19T11:55:21Z",
|
||||
"updated_at": "2026-01-19T11:56:19Z",
|
||||
"job_id": 26622,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "julia",
|
||||
"status": "Passed",
|
||||
"queued_duration": 82.451682,
|
||||
"started_at": "2026-01-19T11:55:23Z",
|
||||
"updated_at": "2026-01-19T11:56:21Z",
|
||||
"job_id": 26624,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "haskell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 82.941396,
|
||||
"started_at": "2026-01-19T11:55:23Z",
|
||||
"updated_at": "2026-01-19T11:56:21Z",
|
||||
"job_id": 26625,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "dart",
|
||||
"status": "Passed",
|
||||
"queued_duration": 81.955653,
|
||||
"started_at": "2026-01-19T11:55:22Z",
|
||||
"updated_at": "2026-01-19T11:56:20Z",
|
||||
"job_id": 26623,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "fsharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 86.115785,
|
||||
"started_at": "2026-01-19T11:55:24Z",
|
||||
"updated_at": "2026-01-19T11:56:20Z",
|
||||
"job_id": 26627,
|
||||
"duration_seconds": 56
|
||||
},
|
||||
{
|
||||
"language": "csharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 86.665718,
|
||||
"started_at": "2026-01-19T11:55:25Z",
|
||||
"updated_at": "2026-01-19T11:56:21Z",
|
||||
"job_id": 26628,
|
||||
"duration_seconds": 56
|
||||
},
|
||||
{
|
||||
"language": "ocaml",
|
||||
"status": "Passed",
|
||||
"queued_duration": 83.294764,
|
||||
"started_at": "2026-01-19T11:55:24Z",
|
||||
"updated_at": "2026-01-19T11:56:19Z",
|
||||
"job_id": 26626,
|
||||
"duration_seconds": 55
|
||||
},
|
||||
{
|
||||
"language": "forth",
|
||||
"status": "Passed",
|
||||
"queued_duration": 84.695683,
|
||||
"started_at": "2026-01-19T11:55:26Z",
|
||||
"updated_at": "2026-01-19T11:56:21Z",
|
||||
"job_id": 26630,
|
||||
"duration_seconds": 55
|
||||
},
|
||||
{
|
||||
"language": "prolog",
|
||||
"status": "Passed",
|
||||
"queued_duration": 85.102583,
|
||||
"started_at": "2026-01-19T11:55:26Z",
|
||||
"updated_at": "2026-01-19T11:56:20Z",
|
||||
"job_id": 26629,
|
||||
"duration_seconds": 54
|
||||
},
|
||||
{
|
||||
"language": "nim",
|
||||
"status": "Passed",
|
||||
"queued_duration": 80.282391,
|
||||
"started_at": "2026-01-19T11:55:20Z",
|
||||
"updated_at": "2026-01-19T11:56:12Z",
|
||||
"job_id": 26620,
|
||||
"duration_seconds": 52
|
||||
},
|
||||
{
|
||||
"language": "powershell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.072477,
|
||||
"started_at": "2026-01-19T11:54:11Z",
|
||||
"updated_at": "2026-01-19T11:55:02Z",
|
||||
"job_id": 26602,
|
||||
"duration_seconds": 51
|
||||
},
|
||||
{
|
||||
"language": "raku",
|
||||
"status": "Passed",
|
||||
"queued_duration": 27.540482,
|
||||
"started_at": "2026-01-19T11:54:26Z",
|
||||
"updated_at": "2026-01-19T11:55:16Z",
|
||||
"job_id": 26609,
|
||||
"duration_seconds": 50
|
||||
},
|
||||
{
|
||||
"language": "awk",
|
||||
"status": "Passed",
|
||||
"queued_duration": 18.332367,
|
||||
"started_at": "2026-01-19T11:54:15Z",
|
||||
"updated_at": "2026-01-19T11:55:03Z",
|
||||
"job_id": 26608,
|
||||
"duration_seconds": 48
|
||||
},
|
||||
{
|
||||
"language": "kotlin",
|
||||
"status": "Passed",
|
||||
"queued_duration": 77.794386,
|
||||
"started_at": "2026-01-19T11:55:17Z",
|
||||
"updated_at": "2026-01-19T11:56:02Z",
|
||||
"job_id": 26615,
|
||||
"duration_seconds": 45
|
||||
},
|
||||
{
|
||||
"language": "d",
|
||||
"status": "Passed",
|
||||
"queued_duration": 79.191204,
|
||||
"started_at": "2026-01-19T11:55:19Z",
|
||||
"updated_at": "2026-01-19T11:56:01Z",
|
||||
"job_id": 26618,
|
||||
"duration_seconds": 42
|
||||
},
|
||||
{
|
||||
"language": "v",
|
||||
"status": "Passed",
|
||||
"queued_duration": 80.842087,
|
||||
"started_at": "2026-01-19T11:55:21Z",
|
||||
"updated_at": "2026-01-19T11:56:01Z",
|
||||
"job_id": 26621,
|
||||
"duration_seconds": 40
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Performance Report: 4.2.3
|
||||
|
||||
**Generated:** 2026-01-19T11:58:45Z
|
||||
**Pipeline:** [#11252](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/11252)
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Tests | 642 |
|
||||
| Passed | 642 |
|
||||
| Failed | 0 |
|
||||
| Pass Rate | 100.0% |
|
||||
| Languages | 42 |
|
||||
| Avg Duration | 63s |
|
||||
| Slowest | rust (142s) |
|
||||
| Fastest | v (40s) |
|
||||
|
||||
---
|
||||
|
||||
## 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:**
|
||||
- **RUST** and **C** are outliers at 90+ seconds
|
||||
- Most languages cluster between 20-40 seconds
|
||||
- Compiled languages (red) tend to be faster than interpreted (blue)
|
||||
- **V** is the fastest at 40 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 42 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 (rust, c)
|
||||
|
||||
---
|
||||
|
||||
## Speed Leaders
|
||||
|
||||
Side-by-side comparison of the 10 slowest and 10 fastest languages.
|
||||
|
||||

|
||||
|
||||
**Slowest (left):** RUST, C, PYTHON, TYPESCRIPT, JAVASCRIPT
|
||||
**Fastest (right):** V, D, KOTLIN, AWK, RAKU
|
||||
|
||||
---
|
||||
|
||||
## 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 - rust and c took longest to execute regardless of queue time
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
Summary dashboard combining key metrics and visualizations.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Raw Data
|
||||
|
||||
### Per-Language Performance
|
||||
|
||||
| Language | Status | Duration |
|
||||
|----------|--------|----------|
|
||||
| rust | Passed | 142s |
|
||||
| c | Passed | 107s |
|
||||
| python | Passed | 78s |
|
||||
| typescript | Passed | 75s |
|
||||
| javascript | Passed | 75s |
|
||||
| ruby | Passed | 74s |
|
||||
| go | Passed | 74s |
|
||||
| php | Passed | 70s |
|
||||
| cpp | Passed | 70s |
|
||||
| elixir | Passed | 69s |
|
||||
| erlang | Passed | 68s |
|
||||
| java | Passed | 67s |
|
||||
| perl | Passed | 66s |
|
||||
| scheme | Passed | 65s |
|
||||
| r | Passed | 64s |
|
||||
| clojure | Passed | 64s |
|
||||
| lua | Passed | 63s |
|
||||
| fortran | Passed | 63s |
|
||||
| deno | Passed | 62s |
|
||||
| zig | Passed | 61s |
|
||||
| tcl | Passed | 61s |
|
||||
| crystal | Passed | 61s |
|
||||
| cobol | Passed | 61s |
|
||||
| groovy | Passed | 60s |
|
||||
| commonlisp | Passed | 60s |
|
||||
| bash | Passed | 60s |
|
||||
| objc | Passed | 58s |
|
||||
| julia | Passed | 58s |
|
||||
| haskell | Passed | 58s |
|
||||
| dart | Passed | 58s |
|
||||
| fsharp | Passed | 56s |
|
||||
| csharp | Passed | 56s |
|
||||
| ocaml | Passed | 55s |
|
||||
| forth | Passed | 55s |
|
||||
| prolog | Passed | 54s |
|
||||
| nim | Passed | 52s |
|
||||
| powershell | Passed | 51s |
|
||||
| raku | Passed | 50s |
|
||||
| awk | Passed | 48s |
|
||||
| kotlin | Passed | 45s |
|
||||
| d | Passed | 42s |
|
||||
| v | Passed | 40s |
|
||||
|
||||
---
|
||||
|
||||
*Report generated by UN Inception CI pipeline*
|
||||
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 155 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
|
@ -1,398 +0,0 @@
|
|||
{
|
||||
"tag": "4.2.4",
|
||||
"generated_at": "2026-01-19T12:02:14Z",
|
||||
"parent_pipeline_id": 11254,
|
||||
"child_pipeline_id": 11256,
|
||||
"summary": {
|
||||
"total_tests": 682,
|
||||
"passed_tests": 682,
|
||||
"failed_tests": 0,
|
||||
"total_languages": 42,
|
||||
"passed_languages": 42,
|
||||
"avg_duration_seconds": 70,
|
||||
"max_duration_seconds": 110,
|
||||
"min_duration_seconds": 23,
|
||||
"slowest_language": "python",
|
||||
"fastest_language": "c"
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"language": "python",
|
||||
"status": "Passed",
|
||||
"queued_duration": 1.066003,
|
||||
"started_at": "2026-01-19T11:57:12Z",
|
||||
"updated_at": "2026-01-19T11:59:02Z",
|
||||
"job_id": 26655,
|
||||
"duration_seconds": 110
|
||||
},
|
||||
{
|
||||
"language": "javascript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 1.983533,
|
||||
"started_at": "2026-01-19T11:57:13Z",
|
||||
"updated_at": "2026-01-19T11:59:02Z",
|
||||
"job_id": 26656,
|
||||
"duration_seconds": 109
|
||||
},
|
||||
{
|
||||
"language": "elixir",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.932191,
|
||||
"started_at": "2026-01-19T11:57:24Z",
|
||||
"updated_at": "2026-01-19T11:59:09Z",
|
||||
"job_id": 26664,
|
||||
"duration_seconds": 105
|
||||
},
|
||||
{
|
||||
"language": "scheme",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.643189,
|
||||
"started_at": "2026-01-19T11:57:29Z",
|
||||
"updated_at": "2026-01-19T11:59:09Z",
|
||||
"job_id": 26667,
|
||||
"duration_seconds": 100
|
||||
},
|
||||
{
|
||||
"language": "bash",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.653588,
|
||||
"started_at": "2026-01-19T11:57:22Z",
|
||||
"updated_at": "2026-01-19T11:59:02Z",
|
||||
"job_id": 26662,
|
||||
"duration_seconds": 100
|
||||
},
|
||||
{
|
||||
"language": "erlang",
|
||||
"status": "Passed",
|
||||
"queued_duration": 11.875167,
|
||||
"started_at": "2026-01-19T11:57:25Z",
|
||||
"updated_at": "2026-01-19T11:59:02Z",
|
||||
"job_id": 26665,
|
||||
"duration_seconds": 97
|
||||
},
|
||||
{
|
||||
"language": "clojure",
|
||||
"status": "Passed",
|
||||
"queued_duration": 18.876164,
|
||||
"started_at": "2026-01-19T11:57:32Z",
|
||||
"updated_at": "2026-01-19T11:59:09Z",
|
||||
"job_id": 26669,
|
||||
"duration_seconds": 97
|
||||
},
|
||||
{
|
||||
"language": "tcl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.286957,
|
||||
"started_at": "2026-01-19T11:57:26Z",
|
||||
"updated_at": "2026-01-19T11:59:02Z",
|
||||
"job_id": 26666,
|
||||
"duration_seconds": 96
|
||||
},
|
||||
{
|
||||
"language": "powershell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 17.835934,
|
||||
"started_at": "2026-01-19T11:57:31Z",
|
||||
"updated_at": "2026-01-19T11:59:07Z",
|
||||
"job_id": 26668,
|
||||
"duration_seconds": 96
|
||||
},
|
||||
{
|
||||
"language": "rust",
|
||||
"status": "Passed",
|
||||
"queued_duration": 83.780984,
|
||||
"started_at": "2026-01-19T11:58:38Z",
|
||||
"updated_at": "2026-01-19T12:00:12Z",
|
||||
"job_id": 26679,
|
||||
"duration_seconds": 94
|
||||
},
|
||||
{
|
||||
"language": "go",
|
||||
"status": "Passed",
|
||||
"queued_duration": 83.420239,
|
||||
"started_at": "2026-01-19T11:58:38Z",
|
||||
"updated_at": "2026-01-19T12:00:12Z",
|
||||
"job_id": 26678,
|
||||
"duration_seconds": 94
|
||||
},
|
||||
{
|
||||
"language": "typescript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 3.081411,
|
||||
"started_at": "2026-01-19T11:57:14Z",
|
||||
"updated_at": "2026-01-19T11:58:34Z",
|
||||
"job_id": 26657,
|
||||
"duration_seconds": 80
|
||||
},
|
||||
{
|
||||
"language": "ruby",
|
||||
"status": "Passed",
|
||||
"queued_duration": 4.280641,
|
||||
"started_at": "2026-01-19T11:57:15Z",
|
||||
"updated_at": "2026-01-19T11:58:34Z",
|
||||
"job_id": 26658,
|
||||
"duration_seconds": 79
|
||||
},
|
||||
{
|
||||
"language": "perl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 5.752368,
|
||||
"started_at": "2026-01-19T11:57:17Z",
|
||||
"updated_at": "2026-01-19T11:58:34Z",
|
||||
"job_id": 26659,
|
||||
"duration_seconds": 77
|
||||
},
|
||||
{
|
||||
"language": "nim",
|
||||
"status": "Passed",
|
||||
"queued_duration": 105.163876,
|
||||
"started_at": "2026-01-19T11:59:01Z",
|
||||
"updated_at": "2026-01-19T12:00:17Z",
|
||||
"job_id": 26686,
|
||||
"duration_seconds": 76
|
||||
},
|
||||
{
|
||||
"language": "r",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.590608,
|
||||
"started_at": "2026-01-19T11:57:23Z",
|
||||
"updated_at": "2026-01-19T11:58:37Z",
|
||||
"job_id": 26663,
|
||||
"duration_seconds": 74
|
||||
},
|
||||
{
|
||||
"language": "php",
|
||||
"status": "Passed",
|
||||
"queued_duration": 9.758401,
|
||||
"started_at": "2026-01-19T11:57:21Z",
|
||||
"updated_at": "2026-01-19T11:58:35Z",
|
||||
"job_id": 26660,
|
||||
"duration_seconds": 74
|
||||
},
|
||||
{
|
||||
"language": "lua",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.299768,
|
||||
"started_at": "2026-01-19T11:57:22Z",
|
||||
"updated_at": "2026-01-19T11:58:33Z",
|
||||
"job_id": 26661,
|
||||
"duration_seconds": 71
|
||||
},
|
||||
{
|
||||
"language": "objc",
|
||||
"status": "Passed",
|
||||
"queued_duration": 106.687178,
|
||||
"started_at": "2026-01-19T11:59:03Z",
|
||||
"updated_at": "2026-01-19T12:00:13Z",
|
||||
"job_id": 26688,
|
||||
"duration_seconds": 70
|
||||
},
|
||||
{
|
||||
"language": "julia",
|
||||
"status": "Passed",
|
||||
"queued_duration": 108.45782,
|
||||
"started_at": "2026-01-19T11:59:05Z",
|
||||
"updated_at": "2026-01-19T12:00:13Z",
|
||||
"job_id": 26690,
|
||||
"duration_seconds": 68
|
||||
},
|
||||
{
|
||||
"language": "haskell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 108.729615,
|
||||
"started_at": "2026-01-19T11:59:06Z",
|
||||
"updated_at": "2026-01-19T12:00:12Z",
|
||||
"job_id": 26691,
|
||||
"duration_seconds": 66
|
||||
},
|
||||
{
|
||||
"language": "ocaml",
|
||||
"status": "Passed",
|
||||
"queued_duration": 109.391015,
|
||||
"started_at": "2026-01-19T11:59:07Z",
|
||||
"updated_at": "2026-01-19T12:00:11Z",
|
||||
"job_id": 26692,
|
||||
"duration_seconds": 64
|
||||
},
|
||||
{
|
||||
"language": "csharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 112.051991,
|
||||
"started_at": "2026-01-19T11:59:10Z",
|
||||
"updated_at": "2026-01-19T12:00:13Z",
|
||||
"job_id": 26694,
|
||||
"duration_seconds": 63
|
||||
},
|
||||
{
|
||||
"language": "fsharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 111.929733,
|
||||
"started_at": "2026-01-19T11:59:10Z",
|
||||
"updated_at": "2026-01-19T12:00:12Z",
|
||||
"job_id": 26693,
|
||||
"duration_seconds": 62
|
||||
},
|
||||
{
|
||||
"language": "prolog",
|
||||
"status": "Passed",
|
||||
"queued_duration": 112.203692,
|
||||
"started_at": "2026-01-19T11:59:11Z",
|
||||
"updated_at": "2026-01-19T12:00:12Z",
|
||||
"job_id": 26695,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "zig",
|
||||
"status": "Passed",
|
||||
"queued_duration": 87.14355,
|
||||
"started_at": "2026-01-19T11:58:43Z",
|
||||
"updated_at": "2026-01-19T11:59:43Z",
|
||||
"job_id": 26685,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "crystal",
|
||||
"status": "Passed",
|
||||
"queued_duration": 24.211899,
|
||||
"started_at": "2026-01-19T11:57:38Z",
|
||||
"updated_at": "2026-01-19T11:58:38Z",
|
||||
"job_id": 26671,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "commonlisp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 23.557732,
|
||||
"started_at": "2026-01-19T11:57:37Z",
|
||||
"updated_at": "2026-01-19T11:58:37Z",
|
||||
"job_id": 26670,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "groovy",
|
||||
"status": "Passed",
|
||||
"queued_duration": 25.052612,
|
||||
"started_at": "2026-01-19T11:57:39Z",
|
||||
"updated_at": "2026-01-19T11:58:38Z",
|
||||
"job_id": 26672,
|
||||
"duration_seconds": 59
|
||||
},
|
||||
{
|
||||
"language": "dart",
|
||||
"status": "Passed",
|
||||
"queued_duration": 107.61224,
|
||||
"started_at": "2026-01-19T11:59:04Z",
|
||||
"updated_at": "2026-01-19T12:00:02Z",
|
||||
"job_id": 26689,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "java",
|
||||
"status": "Passed",
|
||||
"queued_duration": 84.459906,
|
||||
"started_at": "2026-01-19T11:58:39Z",
|
||||
"updated_at": "2026-01-19T11:59:36Z",
|
||||
"job_id": 26680,
|
||||
"duration_seconds": 57
|
||||
},
|
||||
{
|
||||
"language": "deno",
|
||||
"status": "Passed",
|
||||
"queued_duration": 30.939493,
|
||||
"started_at": "2026-01-19T11:57:41Z",
|
||||
"updated_at": "2026-01-19T11:58:37Z",
|
||||
"job_id": 26673,
|
||||
"duration_seconds": 56
|
||||
},
|
||||
{
|
||||
"language": "kotlin",
|
||||
"status": "Passed",
|
||||
"queued_duration": 85.025138,
|
||||
"started_at": "2026-01-19T11:58:40Z",
|
||||
"updated_at": "2026-01-19T11:59:34Z",
|
||||
"job_id": 26681,
|
||||
"duration_seconds": 54
|
||||
},
|
||||
{
|
||||
"language": "fortran",
|
||||
"status": "Passed",
|
||||
"queued_duration": 86.29317,
|
||||
"started_at": "2026-01-19T11:58:41Z",
|
||||
"updated_at": "2026-01-19T11:59:32Z",
|
||||
"job_id": 26683,
|
||||
"duration_seconds": 51
|
||||
},
|
||||
{
|
||||
"language": "awk",
|
||||
"status": "Passed",
|
||||
"queued_duration": 30.55611,
|
||||
"started_at": "2026-01-19T11:57:45Z",
|
||||
"updated_at": "2026-01-19T11:58:36Z",
|
||||
"job_id": 26674,
|
||||
"duration_seconds": 51
|
||||
},
|
||||
{
|
||||
"language": "v",
|
||||
"status": "Passed",
|
||||
"queued_duration": 106.008484,
|
||||
"started_at": "2026-01-19T11:59:02Z",
|
||||
"updated_at": "2026-01-19T11:59:51Z",
|
||||
"job_id": 26687,
|
||||
"duration_seconds": 49
|
||||
},
|
||||
{
|
||||
"language": "forth",
|
||||
"status": "Passed",
|
||||
"queued_duration": 123.191673,
|
||||
"started_at": "2026-01-19T11:59:22Z",
|
||||
"updated_at": "2026-01-19T12:00:11Z",
|
||||
"job_id": 26696,
|
||||
"duration_seconds": 49
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 4.043448,
|
||||
"started_at": "2026-01-19T12:00:14Z",
|
||||
"updated_at": "2026-01-19T12:01:03Z",
|
||||
"job_id": 26699,
|
||||
"duration_seconds": 49
|
||||
},
|
||||
{
|
||||
"language": "raku",
|
||||
"status": "Passed",
|
||||
"queued_duration": 1.095893,
|
||||
"started_at": "2026-01-19T11:59:43Z",
|
||||
"updated_at": "2026-01-19T12:00:28Z",
|
||||
"job_id": 26697,
|
||||
"duration_seconds": 45
|
||||
},
|
||||
{
|
||||
"language": "cobol",
|
||||
"status": "Passed",
|
||||
"queued_duration": 85.56591,
|
||||
"started_at": "2026-01-19T11:58:41Z",
|
||||
"updated_at": "2026-01-19T11:59:24Z",
|
||||
"job_id": 26682,
|
||||
"duration_seconds": 43
|
||||
},
|
||||
{
|
||||
"language": "d",
|
||||
"status": "Passed",
|
||||
"queued_duration": 86.577891,
|
||||
"started_at": "2026-01-19T11:58:42Z",
|
||||
"updated_at": "2026-01-19T11:59:22Z",
|
||||
"job_id": 26684,
|
||||
"duration_seconds": 40
|
||||
},
|
||||
{
|
||||
"language": "c",
|
||||
"status": "Passed",
|
||||
"queued_duration": 3.106438,
|
||||
"started_at": "2026-01-19T12:00:02Z",
|
||||
"updated_at": "2026-01-19T12:00:25Z",
|
||||
"job_id": 26698,
|
||||
"duration_seconds": 23
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Performance Report: 4.2.4
|
||||
|
||||
**Generated:** 2026-01-19T12:02:14Z
|
||||
**Pipeline:** [#11256](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/11256)
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Tests | 682 |
|
||||
| Passed | 682 |
|
||||
| Failed | 0 |
|
||||
| Pass Rate | 100.0% |
|
||||
| Languages | 42 |
|
||||
| Avg Duration | 70s |
|
||||
| Slowest | python (110s) |
|
||||
| Fastest | c (23s) |
|
||||
|
||||
---
|
||||
|
||||
## 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:**
|
||||
- **PYTHON** and **JAVASCRIPT** are outliers at 90+ seconds
|
||||
- Most languages cluster between 20-40 seconds
|
||||
- Compiled languages (red) tend to be faster than interpreted (blue)
|
||||
- **C** is the fastest at 23 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 42 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 (python, javascript)
|
||||
|
||||
---
|
||||
|
||||
## Speed Leaders
|
||||
|
||||
Side-by-side comparison of the 10 slowest and 10 fastest languages.
|
||||
|
||||

|
||||
|
||||
**Slowest (left):** PYTHON, JAVASCRIPT, ELIXIR, SCHEME, BASH
|
||||
**Fastest (right):** C, D, COBOL, RAKU, CPP
|
||||
|
||||
---
|
||||
|
||||
## 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 - python and javascript took longest to execute regardless of queue time
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
Summary dashboard combining key metrics and visualizations.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Raw Data
|
||||
|
||||
### Per-Language Performance
|
||||
|
||||
| Language | Status | Duration |
|
||||
|----------|--------|----------|
|
||||
| python | Passed | 110s |
|
||||
| javascript | Passed | 109s |
|
||||
| elixir | Passed | 105s |
|
||||
| scheme | Passed | 100s |
|
||||
| bash | Passed | 100s |
|
||||
| erlang | Passed | 97s |
|
||||
| clojure | Passed | 97s |
|
||||
| tcl | Passed | 96s |
|
||||
| powershell | Passed | 96s |
|
||||
| rust | Passed | 94s |
|
||||
| go | Passed | 94s |
|
||||
| typescript | Passed | 80s |
|
||||
| ruby | Passed | 79s |
|
||||
| perl | Passed | 77s |
|
||||
| nim | Passed | 76s |
|
||||
| r | Passed | 74s |
|
||||
| php | Passed | 74s |
|
||||
| lua | Passed | 71s |
|
||||
| objc | Passed | 70s |
|
||||
| julia | Passed | 68s |
|
||||
| haskell | Passed | 66s |
|
||||
| ocaml | Passed | 64s |
|
||||
| csharp | Passed | 63s |
|
||||
| fsharp | Passed | 62s |
|
||||
| prolog | Passed | 61s |
|
||||
| zig | Passed | 60s |
|
||||
| crystal | Passed | 60s |
|
||||
| commonlisp | Passed | 60s |
|
||||
| groovy | Passed | 59s |
|
||||
| dart | Passed | 58s |
|
||||
| java | Passed | 57s |
|
||||
| deno | Passed | 56s |
|
||||
| kotlin | Passed | 54s |
|
||||
| fortran | Passed | 51s |
|
||||
| awk | Passed | 51s |
|
||||
| v | Passed | 49s |
|
||||
| forth | Passed | 49s |
|
||||
| cpp | Passed | 49s |
|
||||
| raku | Passed | 45s |
|
||||
| cobol | Passed | 43s |
|
||||
| d | Passed | 40s |
|
||||
| c | Passed | 23s |
|
||||
|
||||
---
|
||||
|
||||
*Report generated by UN Inception CI pipeline*
|
||||
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 73 KiB |
|
|
@ -1,398 +0,0 @@
|
|||
{
|
||||
"tag": "4.2.5",
|
||||
"generated_at": "2026-01-19T19:10:23Z",
|
||||
"parent_pipeline_id": 11331,
|
||||
"child_pipeline_id": 11336,
|
||||
"summary": {
|
||||
"total_tests": 658,
|
||||
"passed_tests": 658,
|
||||
"failed_tests": 0,
|
||||
"total_languages": 42,
|
||||
"passed_languages": 42,
|
||||
"avg_duration_seconds": 67,
|
||||
"max_duration_seconds": 114,
|
||||
"min_duration_seconds": 44,
|
||||
"slowest_language": "v",
|
||||
"fastest_language": "erlang"
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"language": "v",
|
||||
"status": "Passed",
|
||||
"queued_duration": 112.851707,
|
||||
"started_at": "2026-01-19T19:07:04Z",
|
||||
"updated_at": "2026-01-19T19:08:58Z",
|
||||
"job_id": 26979,
|
||||
"duration_seconds": 114
|
||||
},
|
||||
{
|
||||
"language": "haskell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 134.561469,
|
||||
"started_at": "2026-01-19T19:07:26Z",
|
||||
"updated_at": "2026-01-19T19:09:12Z",
|
||||
"job_id": 26983,
|
||||
"duration_seconds": 106
|
||||
},
|
||||
{
|
||||
"language": "scheme",
|
||||
"status": "Passed",
|
||||
"queued_duration": 43.239826,
|
||||
"started_at": "2026-01-19T19:05:52Z",
|
||||
"updated_at": "2026-01-19T19:07:34Z",
|
||||
"job_id": 26959,
|
||||
"duration_seconds": 102
|
||||
},
|
||||
{
|
||||
"language": "ocaml",
|
||||
"status": "Passed",
|
||||
"queued_duration": 135.652973,
|
||||
"started_at": "2026-01-19T19:07:28Z",
|
||||
"updated_at": "2026-01-19T19:09:02Z",
|
||||
"job_id": 26984,
|
||||
"duration_seconds": 94
|
||||
},
|
||||
{
|
||||
"language": "powershell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 58.688364,
|
||||
"started_at": "2026-01-19T19:06:08Z",
|
||||
"updated_at": "2026-01-19T19:07:39Z",
|
||||
"job_id": 26960,
|
||||
"duration_seconds": 91
|
||||
},
|
||||
{
|
||||
"language": "julia",
|
||||
"status": "Passed",
|
||||
"queued_duration": 130.883769,
|
||||
"started_at": "2026-01-19T19:07:23Z",
|
||||
"updated_at": "2026-01-19T19:08:51Z",
|
||||
"job_id": 26982,
|
||||
"duration_seconds": 88
|
||||
},
|
||||
{
|
||||
"language": "crystal",
|
||||
"status": "Passed",
|
||||
"queued_duration": 65.688192,
|
||||
"started_at": "2026-01-19T19:06:15Z",
|
||||
"updated_at": "2026-01-19T19:07:43Z",
|
||||
"job_id": 26963,
|
||||
"duration_seconds": 88
|
||||
},
|
||||
{
|
||||
"language": "fsharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 136.243719,
|
||||
"started_at": "2026-01-19T19:07:28Z",
|
||||
"updated_at": "2026-01-19T19:08:53Z",
|
||||
"job_id": 26985,
|
||||
"duration_seconds": 85
|
||||
},
|
||||
{
|
||||
"language": "forth",
|
||||
"status": "Passed",
|
||||
"queued_duration": 138.21351,
|
||||
"started_at": "2026-01-19T19:07:32Z",
|
||||
"updated_at": "2026-01-19T19:08:52Z",
|
||||
"job_id": 26988,
|
||||
"duration_seconds": 80
|
||||
},
|
||||
{
|
||||
"language": "objc",
|
||||
"status": "Passed",
|
||||
"queued_duration": 116.853074,
|
||||
"started_at": "2026-01-19T19:07:08Z",
|
||||
"updated_at": "2026-01-19T19:08:27Z",
|
||||
"job_id": 26980,
|
||||
"duration_seconds": 79
|
||||
},
|
||||
{
|
||||
"language": "clojure",
|
||||
"status": "Passed",
|
||||
"queued_duration": 60.216959,
|
||||
"started_at": "2026-01-19T19:06:10Z",
|
||||
"updated_at": "2026-01-19T19:07:25Z",
|
||||
"job_id": 26961,
|
||||
"duration_seconds": 75
|
||||
},
|
||||
{
|
||||
"language": "prolog",
|
||||
"status": "Passed",
|
||||
"queued_duration": 137.68259,
|
||||
"started_at": "2026-01-19T19:07:31Z",
|
||||
"updated_at": "2026-01-19T19:08:45Z",
|
||||
"job_id": 26987,
|
||||
"duration_seconds": 74
|
||||
},
|
||||
{
|
||||
"language": "groovy",
|
||||
"status": "Passed",
|
||||
"queued_duration": 67.476035,
|
||||
"started_at": "2026-01-19T19:06:17Z",
|
||||
"updated_at": "2026-01-19T19:07:27Z",
|
||||
"job_id": 26964,
|
||||
"duration_seconds": 70
|
||||
},
|
||||
{
|
||||
"language": "commonlisp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 63.159744,
|
||||
"started_at": "2026-01-19T19:06:13Z",
|
||||
"updated_at": "2026-01-19T19:07:23Z",
|
||||
"job_id": 26962,
|
||||
"duration_seconds": 70
|
||||
},
|
||||
{
|
||||
"language": "dart",
|
||||
"status": "Passed",
|
||||
"queued_duration": 122.607947,
|
||||
"started_at": "2026-01-19T19:07:14Z",
|
||||
"updated_at": "2026-01-19T19:08:22Z",
|
||||
"job_id": 26981,
|
||||
"duration_seconds": 68
|
||||
},
|
||||
{
|
||||
"language": "c",
|
||||
"status": "Passed",
|
||||
"queued_duration": 68.009358,
|
||||
"started_at": "2026-01-19T19:06:20Z",
|
||||
"updated_at": "2026-01-19T19:07:28Z",
|
||||
"job_id": 26968,
|
||||
"duration_seconds": 68
|
||||
},
|
||||
{
|
||||
"language": "go",
|
||||
"status": "Passed",
|
||||
"queued_duration": 69.591526,
|
||||
"started_at": "2026-01-19T19:06:22Z",
|
||||
"updated_at": "2026-01-19T19:07:27Z",
|
||||
"job_id": 26970,
|
||||
"duration_seconds": 65
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 68.728312,
|
||||
"started_at": "2026-01-19T19:06:21Z",
|
||||
"updated_at": "2026-01-19T19:07:26Z",
|
||||
"job_id": 26969,
|
||||
"duration_seconds": 65
|
||||
},
|
||||
{
|
||||
"language": "rust",
|
||||
"status": "Passed",
|
||||
"queued_duration": 70.138932,
|
||||
"started_at": "2026-01-19T19:06:23Z",
|
||||
"updated_at": "2026-01-19T19:07:27Z",
|
||||
"job_id": 26971,
|
||||
"duration_seconds": 64
|
||||
},
|
||||
{
|
||||
"language": "csharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 138.075521,
|
||||
"started_at": "2026-01-19T19:07:30Z",
|
||||
"updated_at": "2026-01-19T19:08:33Z",
|
||||
"job_id": 26986,
|
||||
"duration_seconds": 63
|
||||
},
|
||||
{
|
||||
"language": "java",
|
||||
"status": "Passed",
|
||||
"queued_duration": 70.974228,
|
||||
"started_at": "2026-01-19T19:06:24Z",
|
||||
"updated_at": "2026-01-19T19:07:26Z",
|
||||
"job_id": 26972,
|
||||
"duration_seconds": 62
|
||||
},
|
||||
{
|
||||
"language": "python",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.209672,
|
||||
"started_at": "2026-01-19T19:05:16Z",
|
||||
"updated_at": "2026-01-19T19:06:17Z",
|
||||
"job_id": 26947,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "kotlin",
|
||||
"status": "Passed",
|
||||
"queued_duration": 74.536639,
|
||||
"started_at": "2026-01-19T19:06:25Z",
|
||||
"updated_at": "2026-01-19T19:07:26Z",
|
||||
"job_id": 26973,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "cobol",
|
||||
"status": "Passed",
|
||||
"queued_duration": 75.13891,
|
||||
"started_at": "2026-01-19T19:06:26Z",
|
||||
"updated_at": "2026-01-19T19:07:27Z",
|
||||
"job_id": 26974,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "ruby",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.364693,
|
||||
"started_at": "2026-01-19T19:05:18Z",
|
||||
"updated_at": "2026-01-19T19:06:18Z",
|
||||
"job_id": 26950,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "javascript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.896362,
|
||||
"started_at": "2026-01-19T19:05:17Z",
|
||||
"updated_at": "2026-01-19T19:06:17Z",
|
||||
"job_id": 26948,
|
||||
"duration_seconds": 60
|
||||
},
|
||||
{
|
||||
"language": "zig",
|
||||
"status": "Passed",
|
||||
"queued_duration": 76.512895,
|
||||
"started_at": "2026-01-19T19:06:27Z",
|
||||
"updated_at": "2026-01-19T19:07:26Z",
|
||||
"job_id": 26977,
|
||||
"duration_seconds": 59
|
||||
},
|
||||
{
|
||||
"language": "typescript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.163517,
|
||||
"started_at": "2026-01-19T19:05:17Z",
|
||||
"updated_at": "2026-01-19T19:06:16Z",
|
||||
"job_id": 26949,
|
||||
"duration_seconds": 59
|
||||
},
|
||||
{
|
||||
"language": "nim",
|
||||
"status": "Passed",
|
||||
"queued_duration": 77.03571,
|
||||
"started_at": "2026-01-19T19:06:28Z",
|
||||
"updated_at": "2026-01-19T19:07:26Z",
|
||||
"job_id": 26978,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "fortran",
|
||||
"status": "Passed",
|
||||
"queued_duration": 75.673614,
|
||||
"started_at": "2026-01-19T19:06:26Z",
|
||||
"updated_at": "2026-01-19T19:07:23Z",
|
||||
"job_id": 26975,
|
||||
"duration_seconds": 57
|
||||
},
|
||||
{
|
||||
"language": "php",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.189554,
|
||||
"started_at": "2026-01-19T19:05:19Z",
|
||||
"updated_at": "2026-01-19T19:06:14Z",
|
||||
"job_id": 26952,
|
||||
"duration_seconds": 55
|
||||
},
|
||||
{
|
||||
"language": "elixir",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.896723,
|
||||
"started_at": "2026-01-19T19:05:23Z",
|
||||
"updated_at": "2026-01-19T19:06:18Z",
|
||||
"job_id": 26956,
|
||||
"duration_seconds": 55
|
||||
},
|
||||
{
|
||||
"language": "d",
|
||||
"status": "Passed",
|
||||
"queued_duration": 76.132485,
|
||||
"started_at": "2026-01-19T19:06:27Z",
|
||||
"updated_at": "2026-01-19T19:07:22Z",
|
||||
"job_id": 26976,
|
||||
"duration_seconds": 55
|
||||
},
|
||||
{
|
||||
"language": "raku",
|
||||
"status": "Passed",
|
||||
"queued_duration": 67.385131,
|
||||
"started_at": "2026-01-19T19:06:20Z",
|
||||
"updated_at": "2026-01-19T19:07:14Z",
|
||||
"job_id": 26967,
|
||||
"duration_seconds": 54
|
||||
},
|
||||
{
|
||||
"language": "perl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.887735,
|
||||
"started_at": "2026-01-19T19:05:19Z",
|
||||
"updated_at": "2026-01-19T19:06:12Z",
|
||||
"job_id": 26951,
|
||||
"duration_seconds": 53
|
||||
},
|
||||
{
|
||||
"language": "r",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.845666,
|
||||
"started_at": "2026-01-19T19:05:23Z",
|
||||
"updated_at": "2026-01-19T19:06:15Z",
|
||||
"job_id": 26955,
|
||||
"duration_seconds": 52
|
||||
},
|
||||
{
|
||||
"language": "lua",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.579995,
|
||||
"started_at": "2026-01-19T19:05:20Z",
|
||||
"updated_at": "2026-01-19T19:06:12Z",
|
||||
"job_id": 26953,
|
||||
"duration_seconds": 52
|
||||
},
|
||||
{
|
||||
"language": "tcl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 16.026982,
|
||||
"started_at": "2026-01-19T19:05:24Z",
|
||||
"updated_at": "2026-01-19T19:06:15Z",
|
||||
"job_id": 26958,
|
||||
"duration_seconds": 51
|
||||
},
|
||||
{
|
||||
"language": "deno",
|
||||
"status": "Passed",
|
||||
"queued_duration": 68.534767,
|
||||
"started_at": "2026-01-19T19:06:18Z",
|
||||
"updated_at": "2026-01-19T19:07:08Z",
|
||||
"job_id": 26965,
|
||||
"duration_seconds": 50
|
||||
},
|
||||
{
|
||||
"language": "bash",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.187889,
|
||||
"started_at": "2026-01-19T19:05:21Z",
|
||||
"updated_at": "2026-01-19T19:06:08Z",
|
||||
"job_id": 26954,
|
||||
"duration_seconds": 47
|
||||
},
|
||||
{
|
||||
"language": "awk",
|
||||
"status": "Passed",
|
||||
"queued_duration": 69.048071,
|
||||
"started_at": "2026-01-19T19:06:19Z",
|
||||
"updated_at": "2026-01-19T19:07:05Z",
|
||||
"job_id": 26966,
|
||||
"duration_seconds": 46
|
||||
},
|
||||
{
|
||||
"language": "erlang",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.825814,
|
||||
"started_at": "2026-01-19T19:05:24Z",
|
||||
"updated_at": "2026-01-19T19:06:08Z",
|
||||
"job_id": 26957,
|
||||
"duration_seconds": 44
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Performance Report: 4.2.5
|
||||
|
||||
**Generated:** 2026-01-19T19:10:23Z
|
||||
**Pipeline:** [#11336](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/11336)
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Tests | 658 |
|
||||
| Passed | 658 |
|
||||
| Failed | 0 |
|
||||
| Pass Rate | 100.0% |
|
||||
| Languages | 42 |
|
||||
| Avg Duration | 67s |
|
||||
| Slowest | v (114s) |
|
||||
| Fastest | erlang (44s) |
|
||||
|
||||
---
|
||||
|
||||
## 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:**
|
||||
- **V** and **HASKELL** 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 44 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 42 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 (v, haskell)
|
||||
|
||||
---
|
||||
|
||||
## Speed Leaders
|
||||
|
||||
Side-by-side comparison of the 10 slowest and 10 fastest languages.
|
||||
|
||||

|
||||
|
||||
**Slowest (left):** V, HASKELL, SCHEME, OCAML, POWERSHELL
|
||||
**Fastest (right):** ERLANG, AWK, BASH, DENO, TCL
|
||||
|
||||
---
|
||||
|
||||
## 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 - v and haskell took longest to execute regardless of queue time
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
Summary dashboard combining key metrics and visualizations.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Raw Data
|
||||
|
||||
### Per-Language Performance
|
||||
|
||||
| Language | Status | Duration |
|
||||
|----------|--------|----------|
|
||||
| v | Passed | 114s |
|
||||
| haskell | Passed | 106s |
|
||||
| scheme | Passed | 102s |
|
||||
| ocaml | Passed | 94s |
|
||||
| powershell | Passed | 91s |
|
||||
| julia | Passed | 88s |
|
||||
| crystal | Passed | 88s |
|
||||
| fsharp | Passed | 85s |
|
||||
| forth | Passed | 80s |
|
||||
| objc | Passed | 79s |
|
||||
| clojure | Passed | 75s |
|
||||
| prolog | Passed | 74s |
|
||||
| groovy | Passed | 70s |
|
||||
| commonlisp | Passed | 70s |
|
||||
| dart | Passed | 68s |
|
||||
| c | Passed | 68s |
|
||||
| go | Passed | 65s |
|
||||
| cpp | Passed | 65s |
|
||||
| rust | Passed | 64s |
|
||||
| csharp | Passed | 63s |
|
||||
| java | Passed | 62s |
|
||||
| python | Passed | 61s |
|
||||
| kotlin | Passed | 61s |
|
||||
| cobol | Passed | 61s |
|
||||
| ruby | Passed | 60s |
|
||||
| javascript | Passed | 60s |
|
||||
| zig | Passed | 59s |
|
||||
| typescript | Passed | 59s |
|
||||
| nim | Passed | 58s |
|
||||
| fortran | Passed | 57s |
|
||||
| php | Passed | 55s |
|
||||
| elixir | Passed | 55s |
|
||||
| d | Passed | 55s |
|
||||
| raku | Passed | 54s |
|
||||
| perl | Passed | 53s |
|
||||
| r | Passed | 52s |
|
||||
| lua | Passed | 52s |
|
||||
| tcl | Passed | 51s |
|
||||
| deno | Passed | 50s |
|
||||
| bash | Passed | 47s |
|
||||
| awk | Passed | 46s |
|
||||
| erlang | Passed | 44s |
|
||||
|
||||
---
|
||||
|
||||
*Report generated by UN Inception CI pipeline*
|
||||
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 79 KiB |
|
|
@ -1,398 +0,0 @@
|
|||
{
|
||||
"tag": "4.2.6",
|
||||
"generated_at": "2026-01-19T20:22:16Z",
|
||||
"parent_pipeline_id": 11361,
|
||||
"child_pipeline_id": 11363,
|
||||
"summary": {
|
||||
"total_tests": 642,
|
||||
"passed_tests": 642,
|
||||
"failed_tests": 0,
|
||||
"total_languages": 42,
|
||||
"passed_languages": 42,
|
||||
"avg_duration_seconds": 54,
|
||||
"max_duration_seconds": 128,
|
||||
"min_duration_seconds": 23,
|
||||
"slowest_language": "haskell",
|
||||
"fastest_language": "awk"
|
||||
},
|
||||
"languages": [
|
||||
{
|
||||
"language": "haskell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 57.927747,
|
||||
"started_at": "2026-01-19T20:18:56Z",
|
||||
"updated_at": "2026-01-19T20:21:04Z",
|
||||
"job_id": 27246,
|
||||
"duration_seconds": 128
|
||||
},
|
||||
{
|
||||
"language": "go",
|
||||
"status": "Passed",
|
||||
"queued_duration": 42.595107,
|
||||
"started_at": "2026-01-19T20:18:39Z",
|
||||
"updated_at": "2026-01-19T20:20:26Z",
|
||||
"job_id": 27233,
|
||||
"duration_seconds": 107
|
||||
},
|
||||
{
|
||||
"language": "cpp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 41.801062,
|
||||
"started_at": "2026-01-19T20:18:38Z",
|
||||
"updated_at": "2026-01-19T20:20:11Z",
|
||||
"job_id": 27232,
|
||||
"duration_seconds": 93
|
||||
},
|
||||
{
|
||||
"language": "rust",
|
||||
"status": "Passed",
|
||||
"queued_duration": 43.071671,
|
||||
"started_at": "2026-01-19T20:18:40Z",
|
||||
"updated_at": "2026-01-19T20:20:11Z",
|
||||
"job_id": 27234,
|
||||
"duration_seconds": 91
|
||||
},
|
||||
{
|
||||
"language": "forth",
|
||||
"status": "Passed",
|
||||
"queued_duration": 110.897751,
|
||||
"started_at": "2026-01-19T20:19:49Z",
|
||||
"updated_at": "2026-01-19T20:21:04Z",
|
||||
"job_id": 27251,
|
||||
"duration_seconds": 75
|
||||
},
|
||||
{
|
||||
"language": "c",
|
||||
"status": "Passed",
|
||||
"queued_duration": 38.945258,
|
||||
"started_at": "2026-01-19T20:18:35Z",
|
||||
"updated_at": "2026-01-19T20:19:49Z",
|
||||
"job_id": 27231,
|
||||
"duration_seconds": 74
|
||||
},
|
||||
{
|
||||
"language": "java",
|
||||
"status": "Passed",
|
||||
"queued_duration": 43.553539,
|
||||
"started_at": "2026-01-19T20:18:40Z",
|
||||
"updated_at": "2026-01-19T20:19:50Z",
|
||||
"job_id": 27235,
|
||||
"duration_seconds": 70
|
||||
},
|
||||
{
|
||||
"language": "kotlin",
|
||||
"status": "Passed",
|
||||
"queued_duration": 44.384108,
|
||||
"started_at": "2026-01-19T20:18:41Z",
|
||||
"updated_at": "2026-01-19T20:19:50Z",
|
||||
"job_id": 27236,
|
||||
"duration_seconds": 69
|
||||
},
|
||||
{
|
||||
"language": "cobol",
|
||||
"status": "Passed",
|
||||
"queued_duration": 48.393788,
|
||||
"started_at": "2026-01-19T20:18:45Z",
|
||||
"updated_at": "2026-01-19T20:19:51Z",
|
||||
"job_id": 27237,
|
||||
"duration_seconds": 66
|
||||
},
|
||||
{
|
||||
"language": "fortran",
|
||||
"status": "Passed",
|
||||
"queued_duration": 50.644676,
|
||||
"started_at": "2026-01-19T20:18:48Z",
|
||||
"updated_at": "2026-01-19T20:19:50Z",
|
||||
"job_id": 27238,
|
||||
"duration_seconds": 62
|
||||
},
|
||||
{
|
||||
"language": "csharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 59.39955,
|
||||
"started_at": "2026-01-19T20:18:58Z",
|
||||
"updated_at": "2026-01-19T20:19:59Z",
|
||||
"job_id": 27249,
|
||||
"duration_seconds": 61
|
||||
},
|
||||
{
|
||||
"language": "zig",
|
||||
"status": "Passed",
|
||||
"queued_duration": 54.806684,
|
||||
"started_at": "2026-01-19T20:18:52Z",
|
||||
"updated_at": "2026-01-19T20:19:51Z",
|
||||
"job_id": 27240,
|
||||
"duration_seconds": 59
|
||||
},
|
||||
{
|
||||
"language": "prolog",
|
||||
"status": "Passed",
|
||||
"queued_duration": 59.831917,
|
||||
"started_at": "2026-01-19T20:18:58Z",
|
||||
"updated_at": "2026-01-19T20:19:57Z",
|
||||
"job_id": 27250,
|
||||
"duration_seconds": 59
|
||||
},
|
||||
{
|
||||
"language": "v",
|
||||
"status": "Passed",
|
||||
"queued_duration": 55.777392,
|
||||
"started_at": "2026-01-19T20:18:53Z",
|
||||
"updated_at": "2026-01-19T20:19:51Z",
|
||||
"job_id": 27242,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "nim",
|
||||
"status": "Passed",
|
||||
"queued_duration": 55.314905,
|
||||
"started_at": "2026-01-19T20:18:53Z",
|
||||
"updated_at": "2026-01-19T20:19:51Z",
|
||||
"job_id": 27241,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "d",
|
||||
"status": "Passed",
|
||||
"queued_duration": 54.185143,
|
||||
"started_at": "2026-01-19T20:18:51Z",
|
||||
"updated_at": "2026-01-19T20:19:49Z",
|
||||
"job_id": 27239,
|
||||
"duration_seconds": 58
|
||||
},
|
||||
{
|
||||
"language": "objc",
|
||||
"status": "Passed",
|
||||
"queued_duration": 56.190438,
|
||||
"started_at": "2026-01-19T20:18:54Z",
|
||||
"updated_at": "2026-01-19T20:19:50Z",
|
||||
"job_id": 27243,
|
||||
"duration_seconds": 56
|
||||
},
|
||||
{
|
||||
"language": "dart",
|
||||
"status": "Passed",
|
||||
"queued_duration": 56.747277,
|
||||
"started_at": "2026-01-19T20:18:54Z",
|
||||
"updated_at": "2026-01-19T20:19:50Z",
|
||||
"job_id": 27244,
|
||||
"duration_seconds": 56
|
||||
},
|
||||
{
|
||||
"language": "julia",
|
||||
"status": "Passed",
|
||||
"queued_duration": 57.479759,
|
||||
"started_at": "2026-01-19T20:18:55Z",
|
||||
"updated_at": "2026-01-19T20:19:49Z",
|
||||
"job_id": 27245,
|
||||
"duration_seconds": 54
|
||||
},
|
||||
{
|
||||
"language": "typescript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 3.646439,
|
||||
"started_at": "2026-01-19T20:17:58Z",
|
||||
"updated_at": "2026-01-19T20:18:51Z",
|
||||
"job_id": 27212,
|
||||
"duration_seconds": 53
|
||||
},
|
||||
{
|
||||
"language": "ocaml",
|
||||
"status": "Passed",
|
||||
"queued_duration": 58.422061,
|
||||
"started_at": "2026-01-19T20:18:56Z",
|
||||
"updated_at": "2026-01-19T20:19:49Z",
|
||||
"job_id": 27247,
|
||||
"duration_seconds": 53
|
||||
},
|
||||
{
|
||||
"language": "python",
|
||||
"status": "Passed",
|
||||
"queued_duration": 2.222805,
|
||||
"started_at": "2026-01-19T20:17:56Z",
|
||||
"updated_at": "2026-01-19T20:18:48Z",
|
||||
"job_id": 27210,
|
||||
"duration_seconds": 52
|
||||
},
|
||||
{
|
||||
"language": "fsharp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 58.949975,
|
||||
"started_at": "2026-01-19T20:18:57Z",
|
||||
"updated_at": "2026-01-19T20:19:49Z",
|
||||
"job_id": 27248,
|
||||
"duration_seconds": 52
|
||||
},
|
||||
{
|
||||
"language": "javascript",
|
||||
"status": "Passed",
|
||||
"queued_duration": 2.898278,
|
||||
"started_at": "2026-01-19T20:17:57Z",
|
||||
"updated_at": "2026-01-19T20:18:47Z",
|
||||
"job_id": 27211,
|
||||
"duration_seconds": 50
|
||||
},
|
||||
{
|
||||
"language": "ruby",
|
||||
"status": "Passed",
|
||||
"queued_duration": 4.776109,
|
||||
"started_at": "2026-01-19T20:17:59Z",
|
||||
"updated_at": "2026-01-19T20:18:47Z",
|
||||
"job_id": 27213,
|
||||
"duration_seconds": 48
|
||||
},
|
||||
{
|
||||
"language": "php",
|
||||
"status": "Passed",
|
||||
"queued_duration": 7.186457,
|
||||
"started_at": "2026-01-19T20:18:02Z",
|
||||
"updated_at": "2026-01-19T20:18:50Z",
|
||||
"job_id": 27215,
|
||||
"duration_seconds": 48
|
||||
},
|
||||
{
|
||||
"language": "r",
|
||||
"status": "Passed",
|
||||
"queued_duration": 10.194032,
|
||||
"started_at": "2026-01-19T20:18:05Z",
|
||||
"updated_at": "2026-01-19T20:18:52Z",
|
||||
"job_id": 27218,
|
||||
"duration_seconds": 47
|
||||
},
|
||||
{
|
||||
"language": "perl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 6.159775,
|
||||
"started_at": "2026-01-19T20:18:01Z",
|
||||
"updated_at": "2026-01-19T20:18:45Z",
|
||||
"job_id": 27214,
|
||||
"duration_seconds": 44
|
||||
},
|
||||
{
|
||||
"language": "tcl",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.293658,
|
||||
"started_at": "2026-01-19T20:18:08Z",
|
||||
"updated_at": "2026-01-19T20:18:50Z",
|
||||
"job_id": 27221,
|
||||
"duration_seconds": 42
|
||||
},
|
||||
{
|
||||
"language": "scheme",
|
||||
"status": "Passed",
|
||||
"queued_duration": 12.818309,
|
||||
"started_at": "2026-01-19T20:18:08Z",
|
||||
"updated_at": "2026-01-19T20:18:50Z",
|
||||
"job_id": 27222,
|
||||
"duration_seconds": 42
|
||||
},
|
||||
{
|
||||
"language": "elixir",
|
||||
"status": "Passed",
|
||||
"queued_duration": 11.287902,
|
||||
"started_at": "2026-01-19T20:18:06Z",
|
||||
"updated_at": "2026-01-19T20:18:47Z",
|
||||
"job_id": 27219,
|
||||
"duration_seconds": 41
|
||||
},
|
||||
{
|
||||
"language": "groovy",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.729057,
|
||||
"started_at": "2026-01-19T20:18:12Z",
|
||||
"updated_at": "2026-01-19T20:18:52Z",
|
||||
"job_id": 27227,
|
||||
"duration_seconds": 40
|
||||
},
|
||||
{
|
||||
"language": "clojure",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.149206,
|
||||
"started_at": "2026-01-19T20:18:10Z",
|
||||
"updated_at": "2026-01-19T20:18:50Z",
|
||||
"job_id": 27224,
|
||||
"duration_seconds": 40
|
||||
},
|
||||
{
|
||||
"language": "lua",
|
||||
"status": "Passed",
|
||||
"queued_duration": 7.964979,
|
||||
"started_at": "2026-01-19T20:18:03Z",
|
||||
"updated_at": "2026-01-19T20:18:39Z",
|
||||
"job_id": 27216,
|
||||
"duration_seconds": 36
|
||||
},
|
||||
{
|
||||
"language": "commonlisp",
|
||||
"status": "Passed",
|
||||
"queued_duration": 14.698995,
|
||||
"started_at": "2026-01-19T20:18:10Z",
|
||||
"updated_at": "2026-01-19T20:18:45Z",
|
||||
"job_id": 27225,
|
||||
"duration_seconds": 35
|
||||
},
|
||||
{
|
||||
"language": "bash",
|
||||
"status": "Passed",
|
||||
"queued_duration": 9.03205,
|
||||
"started_at": "2026-01-19T20:18:04Z",
|
||||
"updated_at": "2026-01-19T20:18:39Z",
|
||||
"job_id": 27217,
|
||||
"duration_seconds": 35
|
||||
},
|
||||
{
|
||||
"language": "erlang",
|
||||
"status": "Passed",
|
||||
"queued_duration": 11.926415,
|
||||
"started_at": "2026-01-19T20:18:07Z",
|
||||
"updated_at": "2026-01-19T20:18:41Z",
|
||||
"job_id": 27220,
|
||||
"duration_seconds": 34
|
||||
},
|
||||
{
|
||||
"language": "deno",
|
||||
"status": "Passed",
|
||||
"queued_duration": 16.358662,
|
||||
"started_at": "2026-01-19T20:18:13Z",
|
||||
"updated_at": "2026-01-19T20:18:47Z",
|
||||
"job_id": 27228,
|
||||
"duration_seconds": 34
|
||||
},
|
||||
{
|
||||
"language": "raku",
|
||||
"status": "Passed",
|
||||
"queued_duration": 17.546453,
|
||||
"started_at": "2026-01-19T20:18:14Z",
|
||||
"updated_at": "2026-01-19T20:18:47Z",
|
||||
"job_id": 27230,
|
||||
"duration_seconds": 33
|
||||
},
|
||||
{
|
||||
"language": "crystal",
|
||||
"status": "Passed",
|
||||
"queued_duration": 15.276626,
|
||||
"started_at": "2026-01-19T20:18:11Z",
|
||||
"updated_at": "2026-01-19T20:18:39Z",
|
||||
"job_id": 27226,
|
||||
"duration_seconds": 28
|
||||
},
|
||||
{
|
||||
"language": "powershell",
|
||||
"status": "Passed",
|
||||
"queued_duration": 13.352018,
|
||||
"started_at": "2026-01-19T20:18:09Z",
|
||||
"updated_at": "2026-01-19T20:18:35Z",
|
||||
"job_id": 27223,
|
||||
"duration_seconds": 26
|
||||
},
|
||||
{
|
||||
"language": "awk",
|
||||
"status": "Passed",
|
||||
"queued_duration": 17.13305,
|
||||
"started_at": "2026-01-19T20:18:13Z",
|
||||
"updated_at": "2026-01-19T20:18:36Z",
|
||||
"job_id": 27229,
|
||||
"duration_seconds": 23
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
# Performance Report: 4.2.6
|
||||
|
||||
**Generated:** 2026-01-19T20:22:16Z
|
||||
**Pipeline:** [#11363](https://git.unturf.com/engineering/unturf/un-inception/-/pipelines/11363)
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total Tests | 642 |
|
||||
| Passed | 642 |
|
||||
| Failed | 0 |
|
||||
| Pass Rate | 100.0% |
|
||||
| Languages | 42 |
|
||||
| Avg Duration | 54s |
|
||||
| Slowest | haskell (128s) |
|
||||
| Fastest | awk (23s) |
|
||||
|
||||
---
|
||||
|
||||
## 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:**
|
||||
- **HASKELL** and **GO** are outliers at 90+ seconds
|
||||
- Most languages cluster between 20-40 seconds
|
||||
- Compiled languages (red) tend to be faster than interpreted (blue)
|
||||
- **AWK** is the fastest at 23 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 42 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 (haskell, go)
|
||||
|
||||
---
|
||||
|
||||
## Speed Leaders
|
||||
|
||||
Side-by-side comparison of the 10 slowest and 10 fastest languages.
|
||||
|
||||

|
||||
|
||||
**Slowest (left):** HASKELL, GO, CPP, RUST, FORTH
|
||||
**Fastest (right):** AWK, POWERSHELL, CRYSTAL, RAKU, DENO
|
||||
|
||||
---
|
||||
|
||||
## 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 - haskell and go took longest to execute regardless of queue time
|
||||
|
||||
---
|
||||
|
||||
## Dashboard
|
||||
|
||||
Summary dashboard combining key metrics and visualizations.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Raw Data
|
||||
|
||||
### Per-Language Performance
|
||||
|
||||
| Language | Status | Duration |
|
||||
|----------|--------|----------|
|
||||
| haskell | Passed | 128s |
|
||||
| go | Passed | 107s |
|
||||
| cpp | Passed | 93s |
|
||||
| rust | Passed | 91s |
|
||||
| forth | Passed | 75s |
|
||||
| c | Passed | 74s |
|
||||
| java | Passed | 70s |
|
||||
| kotlin | Passed | 69s |
|
||||
| cobol | Passed | 66s |
|
||||
| fortran | Passed | 62s |
|
||||
| csharp | Passed | 61s |
|
||||
| zig | Passed | 59s |
|
||||
| prolog | Passed | 59s |
|
||||
| v | Passed | 58s |
|
||||
| nim | Passed | 58s |
|
||||
| d | Passed | 58s |
|
||||
| objc | Passed | 56s |
|
||||
| dart | Passed | 56s |
|
||||
| julia | Passed | 54s |
|
||||
| typescript | Passed | 53s |
|
||||
| ocaml | Passed | 53s |
|
||||
| python | Passed | 52s |
|
||||
| fsharp | Passed | 52s |
|
||||
| javascript | Passed | 50s |
|
||||
| ruby | Passed | 48s |
|
||||
| php | Passed | 48s |
|
||||
| r | Passed | 47s |
|
||||
| perl | Passed | 44s |
|
||||
| tcl | Passed | 42s |
|
||||
| scheme | Passed | 42s |
|
||||
| elixir | Passed | 41s |
|
||||
| groovy | Passed | 40s |
|
||||
| clojure | Passed | 40s |
|
||||
| lua | Passed | 36s |
|
||||
| commonlisp | Passed | 35s |
|
||||
| bash | Passed | 35s |
|
||||
| erlang | Passed | 34s |
|
||||
| deno | Passed | 34s |
|
||||
| raku | Passed | 33s |
|
||||
| crystal | Passed | 28s |
|
||||
| powershell | Passed | 26s |
|
||||
| awk | Passed | 23s |
|
||||
|
||||
---
|
||||
|
||||
*Report generated by UN Inception CI pipeline*
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# Performance History
|
||||
|
||||
Tracking compile and test execution times across releases.
|
||||
|
||||
## Releases
|
||||
|
||||
| Version | Date | Tests | Pass Rate | Avg Duration | Slowest | Fastest |
|
||||
|---------|------|-------|-----------|--------------|---------|---------|
|
||||
| 4.2.0 | 2026-01-18 | 642 | 100.0% | 33s | raku | ocaml |
|
||||
| 4.2.3 | 2026-01-19 | 642 | 100.0% | 63s | rust | v |
|
||||
| 4.2.4 | 2026-01-19 | 682 | 100.0% | 70s | python | c |
|
||||
| 4.2.5 | 2026-01-19 | 658 | 100.0% | 67s | v | erlang |
|
||||
| 4.2.6 | 2026-01-19 | 642 | 100.0% | 54s | haskell | awk |
|
||||
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 63 KiB |