diff --git a/reports/4.2.0/perf.json b/reports/4.2.0/perf.json new file mode 100644 index 0000000..d466bc3 --- /dev/null +++ b/reports/4.2.0/perf.json @@ -0,0 +1,398 @@ +{ + "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 + } +] +} diff --git a/reports/4.2.0/perf.md b/reports/4.2.0/perf.md new file mode 100644 index 0000000..57d4253 --- /dev/null +++ b/reports/4.2.0/perf.md @@ -0,0 +1,114 @@ +# Performance Report: 4.2.0 + +**Generated:** 2026-01-18T23:20:51Z +**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) | + +## Per-Language Performance + +| Language | Status | Duration | Tests | +|----------|--------|----------|-------| +| 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 | - | + +## Timing Distribution + +``` +raku 93s ██████████████████ +javascript 90s ██████████████████ +cpp 66s █████████████ +rust 64s ████████████ +go 53s ██████████ +prolog 50s ██████████ +bash 43s ████████ +forth 42s ████████ +python 40s ████████ +powershell 39s ███████ +java 36s ███████ +ruby 35s ███████ +d 33s ██████ +zig 32s ██████ +lua 32s ██████ +julia 32s ██████ +nim 31s ██████ +commonlisp 30s ██████ +typescript 29s █████ +objc 29s █████ +erlang 29s █████ +dart 28s █████ +kotlin 27s █████ +perl 26s █████ +fsharp 26s █████ +r 25s █████ +fortran 25s █████ +deno 25s █████ +awk 25s █████ +scheme 24s ████ +crystal 24s ████ +php 23s ████ +groovy 23s ████ +c 23s ████ +v 22s ████ +haskell 21s ████ +clojure 21s ████ +tcl 20s ████ +elixir 20s ████ +csharp 20s ████ +cobol 20s ████ +ocaml 19s ███ +``` + +--- +*Report generated by `make perf-report`* diff --git a/reports/PERFORMANCE-HISTORY.md b/reports/PERFORMANCE-HISTORY.md new file mode 100644 index 0000000..0636711 --- /dev/null +++ b/reports/PERFORMANCE-HISTORY.md @@ -0,0 +1,9 @@ +# 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 |