Skip to content

refactor(virtio-console): remove VirtioUART wrapper - #2556

Open
cagatay-y wants to merge 1 commit into
hermit-os:mainfrom
cagatay-y:refactor-console
Open

refactor(virtio-console): remove VirtioUART wrapper#2556
cagatay-y wants to merge 1 commit into
hermit-os:mainfrom
cagatay-y:refactor-console

Conversation

@cagatay-y

Copy link
Copy Markdown
Contributor

Rather than accessing the virtio-console driver through the global driver vector, place it into the using struct in a way similar to what was done in b735657.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 70ff382 Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 81.68 s 80.34 s 1.02
startup_benchmark File Size 0.76 MB 0.80 MB 0.96
Startup Time - 1 core 0.75 s (±0.02 s) 0.75 s (±0.02 s) 1.00
Startup Time - 2 cores 0.75 s (±0.02 s) 0.74 s (±0.02 s) 1.02
Startup Time - 4 cores 0.77 s (±0.02 s) 0.74 s (±0.02 s) 1.03
multithreaded_benchmark Build Time 83.88 s 82.11 s 1.02
multithreaded_benchmark File Size 0.87 MB 0.86 MB 1.02
Multithreaded Pi Efficiency - 2 Threads 88.85 % (±7.44 %) 85.89 % (±6.61 %) 1.03
Multithreaded Pi Efficiency - 4 Threads 43.65 % (±3.06 %) 43.43 % (±2.56 %) 1.01
Multithreaded Pi Efficiency - 8 Threads 25.74 % (±1.53 %) 25.76 % (±1.53 %) 1.00
micro_benchmarks Build Time 83.30 s 80.40 s 1.04
micro_benchmarks File Size 0.88 MB 0.86 MB 1.02
Scheduling time - 1 thread 66.11 ticks (±4.43 ticks) 62.65 ticks (±4.06 ticks) 1.06
Scheduling time - 2 threads 36.61 ticks (±5.83 ticks) 34.08 ticks (±4.10 ticks) 1.07
Micro - Time for syscall (getpid) 4.54 ticks (±0.74 ticks) 3.45 ticks (±0.58 ticks) 1.32
Memcpy speed - (built_in) block size 4096 82781.65 MByte/s (±57295.13 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 1.00
Memcpy speed - (built_in) block size 1048576 30383.60 MByte/s (±24560.91 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 26541.26 MByte/s (±21997.97 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.01
Memset speed - (built_in) block size 4096 83452.99 MByte/s (±57697.23 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 1.01
Memset speed - (built_in) block size 1048576 31139.28 MByte/s (±25008.90 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 27325.72 MByte/s (±22503.17 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.01
Memcpy speed - (rust) block size 4096 71325.64 MByte/s (±49981.50 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 0.96
Memcpy speed - (rust) block size 1048576 30275.43 MByte/s (±24509.72 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 27139.62 MByte/s (±22457.94 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 0.98
Memset speed - (rust) block size 4096 72226.91 MByte/s (±50555.54 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 0.97
Memset speed - (rust) block size 1048576 31025.78 MByte/s (±24944.90 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 1.00
Memset speed - (rust) block size 16777216 27923.81 MByte/s (±22951.30 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 0.98
alloc_benchmarks Build Time 76.46 s 74.76 s 1.02
alloc_benchmarks File Size 0.84 MB 0.87 MB 0.96
Allocations - Allocation success 91.34 % 91.31 % 1.00
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.54 % 61.44 % 1.00
Allocations - Average Allocation time 4128.34 Ticks (±135.30 Ticks) 5860.58 Ticks (±98.43 Ticks) 0.70
Allocations - Average Allocation time (no fail) 4911.59 Ticks (±136.03 Ticks) 6554.81 Ticks (±92.86 Ticks) 0.75
Allocations - Average Deallocation time 878.35 Ticks (±166.78 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.49
mutex_benchmark Build Time 76.34 s 79.82 s 0.96
mutex_benchmark File Size 0.88 MB 0.86 MB 1.02
Mutex Stress Test Average Time per Iteration - 1 Threads 12.26 ns (±0.56 ns) 12.10 ns (±0.41 ns) 1.01
Mutex Stress Test Average Time per Iteration - 2 Threads 40.08 ns (±2.07 ns) 40.26 ns (±1.68 ns) 1.00

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

@cagatay-y
cagatay-y force-pushed the refactor-console branch 2 times, most recently from 7f39212 to c4449c6 Compare July 24, 2026 13:55
@cagatay-y
cagatay-y force-pushed the refactor-console branch 2 times, most recently from 860a5d2 to a159e28 Compare August 1, 2026 00:26
Rather than accessing the virtio-console driver through the global driver
vector, place it into the using struct in a way similar to what was done in
b735657.
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.

1 participant