Any #rustlang devs interested in porting the Mastodon streaming API from Node.js to Rust?
We would likely not be able to abandon the Node.js version completely for portability's sake, but there is no reason not to have a more performant drop-in for those who can install it.
The Node.js version consumes about 1GB of RAM for 21k connections.
Paid gig, of course. OpenCollective and all that.
Just to update on this, I have found the person to do it thanks to this thread, no further applications are necessary.
@Gargron Rustodon exists, though I'm not sure if that feature's implemented yet https://github.com/rustodon/rustodon
@noiob Not the same thing, not applicable here.
@Gargron ah well, I thought that maybe some data types and stuff might help someone trying to implement sth
I'm new to rust—only a couple of months and a couple of apps in—so I don't know if I'd be able to handle this solo or not. But I'd love to try/help in any way I can.
(I do know JS, which would help with porting, though I haven't done much with streams in either language.)
@Gargron Ok, I was interested before you said that, and am more interested now. Reading over the JS file now.
@Gargron I'll throw my hat in. About a year of Rust experience
@ByAndBy Do you have a homepage or GitHub I could look at?
@Gargron why choose rustlang instead of some other languages(e.g. golang)? (this question is just interest)
@rinsuki I have looked over some benchmarks and Rust seems to come above Go and Crystal in terms of memory consumption. Considering that I am not proficient in any of those languages myself, I picked the most promising in terms of performance.
@Gargron Any need of a COBOL 2000 port?
@Gargron I have experience in DLang if that has any interest, I do know how to do custom allocators and such as well in D.
@Gargron I don't have enough time to commit to an implementation, but I'm happy to do a code review and answer questions (for free). Ping me github.com/kornelski if any Rust issues come up.
@Gargron May I ask why Rust and not Go?
Currently deciding on which of them I should learn, so I'm just curious :)
@Gargron would be interested to do this as a side-project to learn Rust
@Gargron once you’ve done it, just package it up as wasm and have it as a dependency of the original - they get a free speedup! Everyone’s happy!
@Gargron could the Ruby part of Mastodon also be ported to Rust?
And for that matter, the web front end as well? (at least, I'm pretty sure it supports compilation to WebAssembly)