# Ring benchmark: Erlang vs Go

**URL:** <https://erlangforums.com/t/ring-benchmark-erlang-vs-go/684>\
**Category:** Chat / Discussions\
**Tags:** book-programming-erlang, benchmarks, go\
**Created:** [November 28, 2021, 5:42am UTC](https://erlangforums.com/t/ring-benchmark-erlang-vs-go/684 "2021-11-28T05:42:30Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![OvermindDL1](https://erlangforums.com/user_avatar/erlangforums.com/overminddl1/32/398_2.png) [@OvermindDL1](https://erlangforums.com/u/OvermindDL1)\
**Post date:** [December 2, 2021, 5:05pm UTC](https://erlangforums.com/t/ring-benchmark-erlang-vs-go/684/12 "2021-12-02T17:05:55Z")

</div>

Ah yes true!

EDIT: And with that fixed (whoops!), the multi-threaded scheduler here I get:

```erlang
✦ ❯ cargo run --release --bin ring_rs_greenthreads -- -m100 -n100000
   Compiling ring v0.1.0 (/home/overminddl1/tmp/ring)
    Finished release [optimized] target(s) in 16.58s
     Running `target/release/ring_rs_greenthreads -m100 -n100000`
2.823803715s
[src/bin/ring_rs_greenthreads.rs:59] m = 100
[src/bin/ring_rs_greenthreads.rs:59] n = 100000
[src/bin/ring_rs_greenthreads.rs:59] m * n = 10000000

```

And with the single threaded scheduler I get:

```erlang
✦ ❯ cargo run --release --bin ring_rs_greenthreads -- -m100 -n100000
   Compiling ring v0.1.0 (/home/overminddl1/tmp/ring)
    Finished release [optimized] target(s) in 16.17s
     Running `target/release/ring_rs_greenthreads -m100 -n100000`
2.278915002s
[src/bin/ring_rs_greenthreads.rs:59] m = 100
[src/bin/ring_rs_greenthreads.rs:59] n = 100000
[src/bin/ring_rs_greenthreads.rs:59] m * n = 10000000

```

And running the go one again:

```erlang
❯ ./ring-go -m=100 -n=100000
7.076336311s

```

And the erlang one again:

```erlang
2> ring_benchmark:run(100, 100000).
6113590

```

Five attempts on both the go and erlang ones and took the best results of each.

---

_[View the full topic](https://erlangforums.com/t/ring-benchmark-erlang-vs-go/684)._
