ci: add Pull Request Labeler - #2580
Conversation
There was a problem hiding this comment.
Benchmark Results
Details
| Benchmark | Current: bd95636 | Previous: 2e23902 | Performance Ratio |
|---|---|---|---|
| startup_benchmark Build Time | 82.64 s |
80.34 s |
1.03 ❗ |
| startup_benchmark File Size | 0.79 MB |
0.80 MB |
1.00 ❗ |
| Startup Time - 1 core | 0.75 s (±0.02 s) |
0.75 s (±0.02 s) |
1.01 |
| Startup Time - 2 cores | 0.77 s (±0.02 s) |
0.74 s (±0.02 s) |
1.05 ❗ |
| Startup Time - 4 cores | 0.77 s (±0.03 s) |
0.74 s (±0.02 s) |
1.04 |
| multithreaded_benchmark Build Time | 85.02 s |
82.11 s |
1.04 ❗ |
| multithreaded_benchmark File Size | 0.90 MB |
0.86 MB |
1.05 ❗ |
| Multithreaded Pi Efficiency - 2 Threads | 86.11 % (±6.38 %) |
85.89 % (±6.61 %) |
1.00 |
| Multithreaded Pi Efficiency - 4 Threads | 43.87 % (±2.73 %) |
43.43 % (±2.56 %) |
1.01 |
| Multithreaded Pi Efficiency - 8 Threads | 25.58 % (±1.22 %) |
25.76 % (±1.53 %) |
0.99 |
| micro_benchmarks Build Time | 83.94 s |
80.40 s |
1.04 ❗ |
| micro_benchmarks File Size | 0.90 MB |
0.86 MB |
1.05 ❗ |
| Scheduling time - 1 thread | 66.50 ticks (±3.64 ticks) |
62.65 ticks (±4.06 ticks) |
1.06 |
| Scheduling time - 2 threads | 35.31 ticks (±3.95 ticks) |
34.08 ticks (±4.10 ticks) |
1.04 |
| Micro - Time for syscall (getpid) | 4.38 ticks (±0.60 ticks) |
3.45 ticks (±0.58 ticks) |
1.27 ❗ |
| Memcpy speed - (built_in) block size 4096 | 83571.74 MByte/s (±57868.14 MByte/s) |
82448.38 MByte/s (±56997.13 MByte/s) |
1.01 |
| Memcpy speed - (built_in) block size 1048576 | 30365.67 MByte/s (±24576.62 MByte/s) |
30585.98 MByte/s (±24707.84 MByte/s) |
0.99 |
| Memcpy speed - (built_in) block size 16777216 | 26285.22 MByte/s (±21753.92 MByte/s) |
26340.06 MByte/s (±21720.96 MByte/s) |
1.00 |
| Memset speed - (built_in) block size 4096 | 83547.49 MByte/s (±57849.46 MByte/s) |
82292.76 MByte/s (±56891.50 MByte/s) |
1.02 |
| Memset speed - (built_in) block size 1048576 | 31129.39 MByte/s (±25034.08 MByte/s) |
31323.85 MByte/s (±25145.86 MByte/s) |
0.99 |
| Memset speed - (built_in) block size 16777216 | 27071.89 MByte/s (±22272.94 MByte/s) |
27104.68 MByte/s (±22209.94 MByte/s) |
1.00 |
| Memcpy speed - (rust) block size 4096 | 73452.51 MByte/s (±51182.16 MByte/s) |
74097.96 MByte/s (±51811.44 MByte/s) |
0.99 |
| Memcpy speed - (rust) block size 1048576 | 30243.19 MByte/s (±24522.56 MByte/s) |
30361.60 MByte/s (±24602.37 MByte/s) |
1.00 |
| Memcpy speed - (rust) block size 16777216 | 26988.19 MByte/s (±22289.36 MByte/s) |
27625.34 MByte/s (±22806.88 MByte/s) |
0.98 |
| Memset speed - (rust) block size 4096 | 73742.78 MByte/s (±51344.79 MByte/s) |
74373.47 MByte/s (±51976.48 MByte/s) |
0.99 |
| Memset speed - (rust) block size 1048576 | 30998.86 MByte/s (±24988.32 MByte/s) |
31110.89 MByte/s (±25033.24 MByte/s) |
1.00 |
| Memset speed - (rust) block size 16777216 | 27773.90 MByte/s (±22795.30 MByte/s) |
28386.93 MByte/s (±23265.03 MByte/s) |
0.98 |
| alloc_benchmarks Build Time | 78.17 s |
74.76 s |
1.05 ❗ |
| alloc_benchmarks File Size | 0.87 MB |
0.87 MB |
1.00 ❗ |
| Allocations - Allocation success | 91.31 % |
91.31 % |
1 |
| Allocations - Deallocation success | 100.00 % |
100.00 % |
1 |
| Allocations - Pre-fail Allocations | 61.44 % |
61.44 % |
1 |
| Allocations - Average Allocation time | 4392.32 Ticks (±108.33 Ticks) |
5860.58 Ticks (±98.43 Ticks) |
0.75 ❗ |
| Allocations - Average Allocation time (no fail) | 5141.33 Ticks (±103.51 Ticks) |
6554.81 Ticks (±92.86 Ticks) |
0.78 ❗ |
| Allocations - Average Deallocation time | 916.59 Ticks (±209.17 Ticks) |
1805.01 Ticks (±250.35 Ticks) |
0.51 ❗ |
| mutex_benchmark Build Time | 78.59 s |
79.82 s |
0.98 ❗ |
| mutex_benchmark File Size | 0.90 MB |
0.86 MB |
1.05 ❗ |
| Mutex Stress Test Average Time per Iteration - 1 Threads | 12.12 ns (±0.65 ns) |
12.10 ns (±0.41 ns) |
1.00 |
| Mutex Stress Test Average Time per Iteration - 2 Threads | 40.56 ns (±2.06 ns) |
40.26 ns (±1.68 ns) |
1.01 |
This comment was automatically generated by workflow using github-action-benchmark.
| driver: | ||
| - changed-files: | ||
| - any-glob-to-any-file: 'src/drivers/**' |
There was a problem hiding this comment.
I would like the driver labeling to be a bit more fine-grained, e.g. having driver-console, driver-fs, driver-net, driver-virtio, driver-vsock, and maybe even the individual drivers inside the directories (like gem, loopback, rtl8139, virtio-net, ...)
There was a problem hiding this comment.
I had included them in my initial draft but thought they were too numerous, but I can't think of any concrete downside of having many tags. I have added them back. 👍
| fs: | ||
| - changed-files: | ||
| - any-glob-to-any-file: 'src/fs/**' |
There was a problem hiding this comment.
Maybe also src/drivers/fs/**?
There was a problem hiding this comment.
I think I'd rather keep that separate as driver-virtio-fs. 🤔
sarahspberrypi
left a comment
There was a problem hiding this comment.
Overall, I like the idea, thanks! :)
| arch-x86_64: | ||
| - changed-files: | ||
| - any-glob-to-any-file: 'src/arch/x86_64/**' | ||
|
|
There was a problem hiding this comment.
I think, a src/console/** label is missing here? This file includes all subdirectories, just not this one.
There was a problem hiding this comment.
I went by modules, not directories. All the single-file modules don't have a label. I believe the console module is too small to warrant a label, even though it has two files.
If you disagree, I can also add a label, though.
| driver: | ||
| - changed-files: | ||
| - any-glob-to-any-file: 'src/drivers/**' |
This PR adds a workflow to run actions/labeler to automatically label PRs based on touched file paths.
This action is already used by Uhyve: uhyve/.github/labeler.yml.
The current labels in this PR are just a gut feeling. It would be great to have your feedback on them and on whether we should do this at all.