Crosscut

Daily Thought - 2024-11-14

Hey, I'm Hanno! These are my daily thoughts on Crosscut, the programming language I'm creating. If you have any questions, comments, or feedback, please get in touch!

This thought was published before Crosscut was called Crosscut! If it refers to "Caterpillar", that is the old name, just so you know.

< back to list

Caterpillar's host interface could be modeled after io_uring. But would it made sense? Not right now, as I already said. But I think there are scenarios where this could become interesting.

The obvious use case would be the same kind of asynchronous and I/O-heavy code that io_uring is already built for. Especially, if there's a separation between a given host and the runtime. Maybe because the host runs on another thread. Or even in another address space, acting like an operating system kernel.

But I think it could also make sense for compute-heavy code. For the foreseeable future, Caterpillar will remain slow. At least compared to something like Rust, which it is implemented in. So it seems reasonable to implement a performance-intensive part of your application in Rust, as part of the host. And communication based on ring buffers could make a lot of sense in this case too.

<< previous thoughtnext thought >>

Hey, you! Want to subscribe to my daily thoughts? Just let me know (maybe include a nice message, if you're up for it), and I'll send you an email whenever I post a new one.