Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Can you provide any reference to support this claim as far as actually good implementations go?

Ah yes now to the No True Scotsman fallacy. Async only works well when it’s “properly implemented” which is only .NET.

Even some .NET folks prefer actors model for concurrent programming:

> Orleans is the most underrated technology out there. Not only does it power many Azure products and services, it is also the design basis for Microsoft Service Fabric actors, which also power many Azure products. Virtual actors are the perfect solution for today’s distributed systems.

> In my experience Orleans was able to handle insane write load (our storage/persistence provider went to a queue instead of direct, it was eventually consistent) so we were able to process millions of requests without breaking a sweat. Perhaps others would want more durability, we opted for this as the data was also in a time series database before Orleans saw it.

https://www.reddit.com/r/dotnet/comments/16kk2l1/comment/k0x...

https://learn.microsoft.com/en-us/dotnet/orleans/benefits

Ironically what got me into Elixir was learning about Orleans and how successful it was in scaling XBox services.

> Because so far it looks like vibe-based reasoning with zero knowledge to substantiate the opinion presented as fact.

Aside from personal experience and years of writing and deploying performance sensitive IoT apps?

Well quick googling shows quite a few posts detailing async issues:

> What tools and techniques might be suited for this kind of analysis? I took a quick glance at a flamegraph but it seems like I would need a relatively deep understanding of the async runtime internals since most of what I see looks like implementation details.

https://www.reddit.com/r/rust/comments/uph4tf/profiling_with...

> Reading a 1GB file in 100-byte chunks leads to at least 10,000,000 IOs through three async call layers. The problem becomes catastrophic since these functions are essentially language-level abstractions of callbacks, lacking optimizations that come with their async nature. However, we can manually implement optimizations to alleviate this issue.

https://www.ajanibilby.com/blog/async-js-performance-apr23/

> Asynchronous Rust seems to perform worst than multi-threaded Rust implementations.

https://dev.to/deepu105/concurrency-in-modern-programming-la...

> Under realistic conditions (see below) asynchronous web frameworks are slightly worse throughput (requests/second) and much worse latency variance.

https://calpaterson.com/async-python-is-not-faster.html

> I’m not going to say all async frameworks are definitely slower than threads. What I can say confidently is that asyncio isn’t faster, and it’s more efficient only for huge numbers of mostly idle connections. And only for that.

https://emptysqua.re/blog/why-should-async-get-all-the-love/

https://users.rust-lang.org/t/my-benchmark-done-elixir-is-fa...

https://blog.blackfire.io/the-challenges-of-async-python-obs...



Do you realize that actor model and virtual/green threads/stackful coroutines vs stackless coroutines / async/await and similar are orthogonal concepts?

Also picking asyncio from Python. Lol. You can't be serious, can you?

The only impression I get is most Elixir/Erlang practicioners simply have very ossified perception and deep biases that prevent them from evaluating implementation/design choices fairly and reaching balanced conclusions on where their capabilities lie. Very far cry from the link salad you posted that does not answer my question e.g. the issues with .NET and Rust async implementations performance-wise.

It's impossible to have a conversation with someone deeply committed to their bias and unwilling to accept that BEAM is not the shining paragon of concurrent and multi-threaded runtimes it once was.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: