Hacker News new | ask | show | jobs
by OutOfHere 18 days ago
I propose separating #1 (the main API/SDK) into a separate core package. This will be easier, smaller, and cleaner to maintain, and will meet the needs of many users with new projects. It will satisfy the purity criteria.

I don't like the idea of monkeypatching even if it makes things convenient to use, because this risks being hell to maintain. You won't know of all the hidden bugs in it until a million users have used it.

As for the AIO bridge, single core execution is hell anyway, and so I don't like that idea either.

Can you point me to the documentation and examples of the main API/SDK?

1 comments

great questions:

I'd say start here for some basics

https://github.com/robertsdotpm/runloom/blob/main/docs/quick...

https://github.com/robertsdotpm/runloom/blob/main/docs/cookb...

Then if you want the fastest performance possible for a server this is the epoll-based fastest benchmark program (it calls directly into an optimized server dispatcher built into the runtime. It's designed to minimize Python call overhead while still supporting handlers):

https://github.com/robertsdotpm/runloom/blob/main/benchmark/...

There's an equivalent of that for TCP connections too. UDP hasn't been added yet (optimized version.) And yes -- I have to admit that the API is a mess at the moment and so are the docs. This hasn't been designed well to be user-friendly (like 10 ways to do the same thing...) I just haven't had time to do it. All my time went into testing the project. And tuning performance. So you see a mix of different approaches. But this could be fixed fairly easily in the future.