Rust beginner notes & questions

To be honest, I feel like I'm learning alongside with everyone else. 8)

I didn't start out with the zero-copy thing as a goal, I only noticed that as a possibility after reading about the System.IO.Pipeline design.

I think a lot more research coupled with some experimental API tire-kicking is the best bet, and I would definitely seek the involvement of the tokio guys. Asynchronous I/O is usually used when performance matters the most, and zero copy = more performance!

I haven't personally read through the full System.IO.Pipeline source yet, but I might over the weekend, time permitting. Similarly, it would be worth it to see what the Java guys did in the NIO library.

I also discovered that the borrow-checker doesn't like my naive design, making it a little painful to use. That might just be the way it is, but I'm not sure. A more experienced Rust API designer could probably provide hints...

2 Likes