Skip to content

feat/fix: change a few system calls and add stub values#2454

Open
zyuiop wants to merge 5 commits into
hermit-os:mainfrom
zyuiop:feat/systemcalls
Open

feat/fix: change a few system calls and add stub values#2454
zyuiop wants to merge 5 commits into
hermit-os:mainfrom
zyuiop:feat/systemcalls

Conversation

@zyuiop
Copy link
Copy Markdown
Contributor

@zyuiop zyuiop commented Jun 1, 2026

In the process of porting some applications (C) for Hermit, we had to implement a few stub values. I have gated them behind a compilation flag.
In addition, we also fix a few problems/incompatibilities.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark Results

Details
Benchmark Current: 95cbe7b Previous: a025f19 Performance Ratio
startup_benchmark Build Time 115.27 s 116.82 s 0.99
startup_benchmark File Size 0.77 MB 0.77 MB 1.00
Startup Time - 1 core 1.01 s (±0.03 s) 1.00 s (±0.03 s) 1.01
Startup Time - 2 cores 1.06 s (±0.06 s) 1.04 s (±0.05 s) 1.02
Startup Time - 4 cores 1.02 s (±0.04 s) 1.02 s (±0.05 s) 0.99
multithreaded_benchmark Build Time 119.78 s 117.48 s 1.02
multithreaded_benchmark File Size 0.87 MB 0.84 MB 1.04
Multithreaded Pi Efficiency - 2 Threads 90.46 % (±14.76 %) 85.06 % (±19.28 %) 1.06
Multithreaded Pi Efficiency - 4 Threads 43.86 % (±6.92 %) 42.20 % (±9.32 %) 1.04
Multithreaded Pi Efficiency - 8 Threads 24.65 % (±3.99 %) 23.57 % (±5.00 %) 1.05
micro_benchmarks Build Time 103.58 s 92.09 s 1.12
micro_benchmarks File Size 0.88 MB 0.84 MB 1.04
Scheduling time - 1 thread 73.54 ticks (±3.14 ticks) 73.19 ticks (±3.39 ticks) 1.00
Scheduling time - 2 threads 38.89 ticks (±3.62 ticks) 44.10 ticks (±6.54 ticks) 0.88
Micro - Time for syscall (getpid) 3.07 ticks (±0.18 ticks) 3.09 ticks (±0.16 ticks) 0.99
Memcpy speed - (built_in) block size 4096 74982.23 MByte/s (±51652.72 MByte/s) 73877.55 MByte/s (±50900.64 MByte/s) 1.01
Memcpy speed - (built_in) block size 1048576 29436.21 MByte/s (±24219.11 MByte/s) 29621.41 MByte/s (±24412.82 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 24441.97 MByte/s (±20066.71 MByte/s) 26615.80 MByte/s (±21973.01 MByte/s) 0.92
Memset speed - (built_in) block size 4096 75225.71 MByte/s (±51810.04 MByte/s) 74082.46 MByte/s (±51039.25 MByte/s) 1.02
Memset speed - (built_in) block size 1048576 30202.01 MByte/s (±24667.71 MByte/s) 30381.08 MByte/s (±24836.90 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 25133.89 MByte/s (±20507.23 MByte/s) 27365.04 MByte/s (±22427.19 MByte/s) 0.92
Memcpy speed - (rust) block size 4096 67548.61 MByte/s (±47150.27 MByte/s) 67998.13 MByte/s (±47775.53 MByte/s) 0.99
Memcpy speed - (rust) block size 1048576 29556.16 MByte/s (±24260.27 MByte/s) 29415.03 MByte/s (±24216.28 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 23876.96 MByte/s (±19713.50 MByte/s) 26645.15 MByte/s (±21980.78 MByte/s) 0.90
Memset speed - (rust) block size 4096 67851.53 MByte/s (±47340.38 MByte/s) 68410.01 MByte/s (±48051.67 MByte/s) 0.99
Memset speed - (rust) block size 1048576 30325.24 MByte/s (±24702.82 MByte/s) 30182.39 MByte/s (±24662.20 MByte/s) 1.00
Memset speed - (rust) block size 16777216 24616.99 MByte/s (±20217.23 MByte/s) 27320.66 MByte/s (±22364.88 MByte/s) 0.90
alloc_benchmarks Build Time 93.61 s 91.56 s 1.02
alloc_benchmarks File Size 0.84 MB 0.85 MB 1.00
Allocations - Allocation success 100.00 % 100.00 % 1
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 100.00 % 100.00 % 1
Allocations - Average Allocation time 4881.96 Ticks (±1300.99 Ticks) 4553.50 Ticks (±57.46 Ticks) 1.07
Allocations - Average Allocation time (no fail) 4881.96 Ticks (±1300.99 Ticks) 4553.50 Ticks (±57.46 Ticks) 1.07
Allocations - Average Deallocation time 752.34 Ticks (±127.18 Ticks) 1035.15 Ticks (±129.57 Ticks) 0.73
mutex_benchmark Build Time 96.82 s 88.37 s 1.10
mutex_benchmark File Size 0.88 MB 0.84 MB 1.04
Mutex Stress Test Average Time per Iteration - 1 Threads 13.62 ns (±0.52 ns) 14.02 ns (±0.84 ns) 0.97
Mutex Stress Test Average Time per Iteration - 2 Threads 17.52 ns (±9.67 ns) 17.80 ns (±4.95 ns) 0.98

This comment was automatically generated by workflow using github-action-benchmark.

@mkroening mkroening self-assigned this Jun 1, 2026
@mkroening mkroening self-requested a review June 1, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants