Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There is considerable overhead of the user space <> kernel <> userspace switches, you can see similar with something like Wireguard if you compare the performance of its go client Vs the kernel driver.

Some fuse drivers can avoid the overhead by letting the kernel know that the backing resource of a fuse filesystem can be handled by the kernel (e.g. for fuse based overlays FS where the backing storage is xfs or something), that probably isn't applicable here.

If you're in kernel space though I don't think you'd have access to OpenCL so easily, you'd need to reimplement it based on kernel primitives.



Tailscale tells us that, at least on some hardware, wireguard-go userspace performance beats the in-kernel implementation?

https://tailscale.com/blog/more-throughput




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: