mratsim/weave
View on GitHub ↗ ★ 587 Nim
A state-of-the-art multithreading runtime: message-passing based, fast, scalable, ultra-low overhead
30 mentions on Hacker News by 9 people: 1 story, 29 comments · first 2019-11-07 · latest 2025-03-04
20082026
-
…is the tooling, but even the tooling is still adequate. I'm glad it exists. Highly recommend. [1] https://github.com/mratsim/weave [2] https://github.com/Araq/malebolgia [3] https://github.com/nim-lang/nimony
comment by seanw444 · 2025-03-04 · in Ask HN: What less-popular systems programming language are you using? -
…know Python, because Nim's stdlib is heavily inspired by it. For multithreading in Nim see: Weave - https://github.com/mratsim/weave Malebolgia - https://github.com/Araq/malebolgia [0] - https://nim-lang.org
comment by archargelod · 2024-03-12 · in gh-116167: Allow disabling the GIL -
GPU drivers provide an event system: - Cuda: https://github.com/mratsim/weave/issues/133 - OpenCL: https://github.com/mratsim/weave/issues/134
comment by mratsim · 2024-02-14 · in Maybe Everything Is a Coroutine -
…I'll come back later with details on how to use my custom HPC threadpool Weave instead of OpenMP ( https://github.com/mratsim/weave/tree/master/benchmarks/matm... ). As a side bonus it also has parallel nqueens implemented.
comment by mratsim · 2024-01-04 · in Benchmarking 20 programming languages on N-queens and matrix multiplication -
…thub.com/mratsim/laser/blob/master/benchmarks%2Fge... And using my own threadpool instead of OpenMP - https://github.com/mratsim/weave/issues/68#issuecomment-5692... - https://github.com/mratsim/weave/pull/94
comment by mratsim · 2024-01-04 · in Benchmarking 20 programming languages on N-queens and matrix multiplication -
…Python in this context. You don't have to use Assembly. Case in point, this is as fast as OpenBLAS: https://github.com/mratsim/weave/tree/master/benchmarks/matm...
comment by mratsim · 2024-01-03 · in Benchmarking 20 programming languages on N-queens and matrix multiplication -
In my benchmarks, Nim is faster than Rust: - multithreading runtime (i.e Rayon vs Weave https://github.com/mratsim/weave ) - Cryptography: https://hackmd.io/@gnark/eccbench#Pairing - Scientific computing / matrix multiplication:…
comment by mratsim · 2022-02-10 · in Nim vs Rust Benchmarks -
…com/c-blake/cligen/blob/master/examples/grl.nim [3] https://news.ycombinator.com/item?id=24842648 [4] https://github.com/mratsim/weave
comment by cb321 · 2021-05-15 · in Nim 2.0 thoughts -
…* Ubuntu: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1899800 Also see https://github.com/mratsim/weave/pull/58/files
comment by edwintorok · 2020-11-01 · in Using TLA+ in the Real World to Understand a Glibc Bug -
…xoshiro and seeding process that could take loop iteration variables [2] for reproducibility: - [1] https://github.com/mratsim/weave/issues/147 - [2] https://github.com/mratsim/trace-of-radiance/blob/99f7d85/tr... - Usage for parallel…
comment by mratsim · 2020-10-15 · in A Family of Better Random Number Generators -
…out of date. Most network libraries use async. Threads are possible, but weave looks promising: https://github.com/mratsim/weave
comment by elcritch · 2020-08-16 · in Nim – Python-like statically-typed compiled language -
I've written Weave for the Nim programming language: - https://github.com/mratsim/weave - RFC that describes the goals: https://github.com/nim-lang/RFCs/issues/160
comment by mratsim · 2020-07-14 · in Show HN: A thread hierarchy management library in C -
I didn't, however you can read my writeup and investigation attempts here: - https://github.com/mratsim/weave/issues/56 And the fix was directly using Linux futexes: - https://github.com/mratsim/weave/pull/58/files
comment by mratsim · 2020-06-23 · in Rust concurrency: the archetype of a message-passing bug -
…the middle of many Microsoft papers[1] to add model checking to Nim, in particular CHESS.[2] [1]: https://github.com/mratsim/weave/issues/18 [2]: Finding and Reproducing Heisenbugs in Concurrent Programs,…
comment by mratsim · 2020-06-22 · in Rust concurrency: the archetype of a message-passing bug -
…tend to dismiss those as if the borrow checker was the panacea to all multithreading problems. [1]: https://github.com/mratsim/weave [2]: https://github.com/mratsim/weave/issues/56 [3]: https://nim-lang.org/docs/drnim.html [4]:…
comment by mratsim · 2020-06-22 · in Rust concurrency: the archetype of a message-passing bug -
…[5]: https://nim-lang.org/docs/drnim.html [6]: https://github.com/nim-lang/RFCs/issues/222 [7]: https://github.com/mratsim/weave/issues/56 And shameless plug, my talk at the NimConf on debugging multithreading programs (data structure and…
comment by mratsim · 2020-06-22 · in Rust concurrency: the archetype of a message-passing bug -
…should, seems like the age of Dataflow parallelism and properly optimizing for data is coming. [1]: https://github.com/mratsim/weave#dataflow-parallelism [2]: https://github.com/taskflow/taskflow [3]: https://github.com/habanero-rice/hclib…
comment by mratsim · 2020-06-22 · in Regent: A Language for Implicit Dataflow Parallelism -
…- Reaching and going beyond OpenBLAS + OpenMP performance (almost pure Assembly): https://github.com/mratsim/weave/issues/68#issuecomment-5717... - Faster than C++ on Raytracing bench: https://github.com/mratsim/weave/tree/9f0c384f/demos/ra
comment by mratsim · 2020-06-20 · in NimConf 2020 Videos -
…and Araq isn't alone. For example multithreading has been delegated to the amazing mratsim: https://github.com/mratsim/weave . There are multiple people helping with the new move-semantics-based runtime:…
comment by sp33der89 · 2020-05-28 · in Pros and Cons of Nim -
…to handle everything people can use a multithreading runtime for, same comparison on GEMM: https://github.com/mratsim/weave/tree/v0.4.0/benchmarks/matm... - More resources on the importance of memory bandwidth: optimization convolutions…
comment by mratsim · 2020-04-22 · in A possible new back end for Rust -
…ML as well. [0] https://github.com/numforge/laser [1] https://github.com/mratsim/Arraymancer [2] https://github.com/mratsim/weave
comment by gavinray · 2020-02-23 · in Nim Community Survey 2019 Results -
…macros from Nim, no difference from wrapping C: Example on wrapping a simple benchmark macro: - https://github.com/mratsim/weave/blob/052ae40a/experiments/e... - https://github.com/mratsim/weave/blob/052ae40a/experiments/e...
comment by mratsim · 2020-02-19 · in Want to call C from Python? Use D -
…OpenMP and Intel TBB) that I've been benchmarking against, see memory subsystem details here: https://github.com/mratsim/weave/tree/master/weave/memory Example of atomic refcounting in this PR here: https://github.com/mratsim/weave/blob/025…
comment by mratsim · 2020-01-06 · in Hobby x86 kernel written with Zig -
…at https://github.com/nim-lang/RFCs/issues/160 and the repo I'm currently building the runtime at https://github.com/mratsim/weave . Obviously I am biaised as a Nim dev that uses Nim for both work and hobby so I'd rather have others that…
comment by mratsim · 2019-11-07 · in Async-await on stable Rust