Skip to content

Support for Uhyve snapshots - #2687

Open
jounathaen wants to merge 3 commits into
mainfrom
snapshot
Open

Support for Uhyve snapshots#2687
jounathaen wants to merge 3 commits into
mainfrom
snapshot

Conversation

@jounathaen

Copy link
Copy Markdown
Member

I think @mkroening will hyperventilate, as the network reinitialization is kind of hacky, but let's see 😉

Depends on a uhyve-interface release with hermit-os/uhyve#1469

@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: 22f0641 Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 92.94 s 80.34 s 1.16
startup_benchmark File Size 0.78 MB 0.80 MB 0.97
Startup Time - 1 core 0.71 s (±0.02 s) 0.75 s (±0.02 s) 0.96
Startup Time - 2 cores 0.72 s (±0.02 s) 0.74 s (±0.02 s) 0.98
Startup Time - 4 cores 0.73 s (±0.03 s) 0.74 s (±0.02 s) 0.98
multithreaded_benchmark Build Time 92.53 s 82.11 s 1.13
multithreaded_benchmark File Size 0.81 MB 0.86 MB 0.95
Multithreaded Pi Efficiency - 2 Threads 67.38 % (±5.48 %) 85.89 % (±6.61 %) 0.78
Multithreaded Pi Efficiency - 4 Threads 40.41 % (±3.32 %) 43.43 % (±2.56 %) 0.93
Multithreaded Pi Efficiency - 8 Threads 19.98 % (±1.61 %) 25.76 % (±1.53 %) 0.78
micro_benchmarks Build Time 216.59 s 80.40 s 2.69
micro_benchmarks File Size 0.82 MB 0.86 MB 0.95
Scheduling time - 1 thread 167.82 ticks (±34.43 ticks) 62.65 ticks (±4.06 ticks) 2.68
Scheduling time - 2 threads 91.55 ticks (±16.30 ticks) 34.08 ticks (±4.10 ticks) 2.69
Micro - Time for syscall (getpid) 12.71 ticks (±7.91 ticks) 3.45 ticks (±0.58 ticks) 3.68
Memcpy speed - (built_in) block size 4096 58997.51 MByte/s (±41355.16 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 0.72
Memcpy speed - (built_in) block size 1048576 13651.91 MByte/s (±11331.74 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.45
Memcpy speed - (built_in) block size 16777216 11750.27 MByte/s (±9739.18 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 0.45
Memset speed - (built_in) block size 4096 59260.37 MByte/s (±41543.15 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 0.72
Memset speed - (built_in) block size 1048576 13908.10 MByte/s (±11462.60 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.44
Memset speed - (built_in) block size 16777216 12050.65 MByte/s (±9906.74 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 0.44
Memcpy speed - (rust) block size 4096 53824.64 MByte/s (±38370.87 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 0.73
Memcpy speed - (rust) block size 1048576 13872.30 MByte/s (±11715.83 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 0.46
Memcpy speed - (rust) block size 16777216 11468.89 MByte/s (±9533.35 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 0.42
Memset speed - (rust) block size 4096 54277.60 MByte/s (±38698.71 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 0.73
Memset speed - (rust) block size 1048576 14114.00 MByte/s (±11823.93 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 0.45
Memset speed - (rust) block size 16777216 11748.07 MByte/s (±9683.43 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 0.41
alloc_benchmarks Build Time 211.42 s 74.76 s 2.83
alloc_benchmarks File Size 0.85 MB 0.87 MB 0.98
Allocations - Allocation success 91.38 % 91.31 % 1.00
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.60 % 61.44 % 1.00
Allocations - Average Allocation time 23815.42 Ticks (±1687.64 Ticks) 5860.58 Ticks (±98.43 Ticks) 4.06
Allocations - Average Allocation time (no fail) 24967.45 Ticks (±2037.16 Ticks) 6554.81 Ticks (±92.86 Ticks) 3.81
Allocations - Average Deallocation time 7524.88 Ticks (±1859.10 Ticks) 1805.01 Ticks (±250.35 Ticks) 4.17
mutex_benchmark Build Time 216.11 s 79.82 s 2.71
mutex_benchmark File Size 0.82 MB 0.86 MB 0.95
Mutex Stress Test Average Time per Iteration - 1 Threads 35.72 ns (±6.51 ns) 12.10 ns (±0.41 ns) 2.95
Mutex Stress Test Average Time per Iteration - 2 Threads 32.06 ns (±8.16 ns) 40.26 ns (±1.68 ns) 0.80

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cargo env executor mmio syscalls Uhyve Related to Hermit's custom Hypervisor Uhyve x86_64

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant