logoalt Hacker News

nextaccountic • yesterday at 8:38 PM • 1 reply • view on HN

> Threads that share nothing. A worker is compiled as a separate program with its own memory, and flat values cross typed queues as a memcpy. Data races, locks, atomics and memory orderings do not exist in the language.

how to perform this copy without atomics?

do the workers run as threads or processes?

also you claim it's faster than rust and c++. but for certain kinds of software it's certainly (and substantially) slower, right?


Replies

Aardappel • yesterday at 8:48 PM

The copy is made by the runtime, which obviously does use atomics underneath, but you don't ever use these yourself.

The workers are threads. The separate memory is the concurrency model, but it's still single process, multiple threads.

The "faster than" is on average, and both in my own benchmarks and independent benchmarks you can find examples of algorithms where it is slower, but they tend to be the exception. "substantially" slower I haven't found yet.

https://kostya.github.io/LangArena/#/top_tab

➕ show 1 reply