Improve socket_vmnet performance using github.com/nirs/vmnet-helper
- Dominant language
- Go
- Stars
- 21.9k
- Forks
- 957
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 53
Description
At KubeCon @nirs and I discussed improving the vmnet performance using https://github.com/nirs/vmnet-helper
Two options:
- Option 1: port vmnet-helper improvements to socket_vmnet
- Option 2: implement the support for vmnet-helper
Either way, the change will be almost transparent to users.
The network names will remain `lima:shared`, `lima:bridged`, and `lima:host`.
## Option 1: port vmnet-helper improvements to socket_vmnet
This plan will port the performance improvements of vmnet-helper to socket_vmnet ,
preserving the current CLI of socket_vmnet.
Feasibility is yet to be investigated.
As this will incur a massive rewrite, it might be also a good chance to consider rewriting the entire code in Swift.
Pros:
- (Almost) no need to touch the code of Lima
- Less confusing to users
Cons:
- Massive change might be needed on socket_vmnet
## Option 2: implement the support for vmnet-helper
`networks.yaml` will have a `vmnetBackend: (vmnet-helper|socket_vmnet|auto)` to switch the backend
until we can fully deprecate the support for `socket_vmnet`.
Pros:
- No need to touch the code of vmnet-helper
Cons:
- Brings more code complexity to Lima
- Confusing to have two backends with very similar names
Contributor guide
Assessment
This issue has not been assessed yet.