9p is such a great little protocol. diod[0] has a good amount of documentation on the protocol itself, but it's pretty simple.
I have some notes here [1], but it's mostly just linking to primary sources. FUSE is great, but 9P is more general and has high quality implementations all over the place, even in Windows!
One thing I'm not so sure about is the performance properties of 9p. I've seen some places indicate it's rather slow, but nothing definitive. Does anyone have any benchmarks or info on that?
[0]: https://github.com/chaos/diod/blob/master/protocol.md [1]: https://athenaeum.wiki/Zettelkasten/9p
> 9P [...] has high quality implementation[...] in Windows
Do you know if it’s possible to mount one’s own 9P servers under Windows? I seem to remember a comment from a Microsoft employee on GitHub something-or-other that said that capability is private to WSL2, but I can’t find it right now.
If you have to go through WSL to mount it, does that really count has a "high quality implementation" in Windows? Windows already has a high performance FUSE alternative called ProjFS.
I looked at 9p as a NFS/SMB replacement some time ago for a project, and benchmarks seems scarce. I did find this[1] set of benchmarks but it's from 2005.
I also found this[2] from 2016 which points out some performance barriers, and it doesn't sound like an easy fix without some new extensions.
However there's also this[3] post from 2022 about some patches suggesting a 10x improvement in Linux 9p performance.
Would be interesting to see how things are these days.
[1]: https://www.usenix.org/legacy/events/usenix05/tech/freenix/f...
[2]: https://github.com/Harvey-OS/harvey/issues/18
[3]: https://www.phoronix.com/news/Linux-9p-10x-Performance