Goish: A Rust runtime for Go people

2 months ago by vi21 to c/rust

Goroutines, channels, select!, net/http, and crypto. Go 1.25's runtime idioms, ported ground-up into no_std Rust. Ship a static binary just like Go.

cross-posted from: https://lemmy.ml/post/51402479

I guess Goish might be hated by many Rust fans and Go fans. Anyway, below is the example taken from its website.

use goish::{go, KB};
use goish::sync::WaitGroup;

#[goish::main]
fn main() {
    let wg = &WaitGroup::new();
    wg.Add(1_000_000);

    for i in 0..1_000_000 {
        // Explicit 2 KiB stack, sub-page allocated from the chunked
        // stackpool - the opt-in for extreme spawn density. Everyday
        // code just writes go!(move || ...) and never sizes a stack.
        go!(stack(2 * KB), move || {
            do_work(i);
            wg.Done();
        });
    }

    wg.Wait();
}
NewOldGuard 8 points 2 months ago

Slop

path: 0 25311296, hotness: undefined, score: 8, children: 0
thingsiplay 3 points 2 months ago

Blasphemie!

path: 0 25309716, hotness: undefined, score: 3, children: 0
draco_aeneus 1 point 2 months ago

Cool!

path: 0 25312393, hotness: undefined, score: 1, children: 0
rust
rust

@lemmy.ml

login for more options
9402
397
129

go to feed...