How Much Memory Do You Need in 2024 to Run 1M Concurrent Tasks?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. .NET Runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

    It doesn't take that much space, and not all languages have option to easily map an initial range onto an iterator that produces tasks. Most are dominated by the size of state machines/virtual threads.

    Please note that the link above leads to ancient code from .NET Framework.

    The up-to-date .NET implementation lives here: https://github.com/dotnet/runtime/blob/main/src/libraries/Sy...

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. go

    The Go programming language

  4. Yeah that is a junior mistake... They should've pre-sized the ArrayList, or better, used an array because that's more memory efficient (and I would say would be what any decent dev would do when the size of tasks is known beforehand).

    > Some folks pointed out that in Rust (tokio) it can use a loop iterating over the Vec instead of join_all to avoid the resize to the list

    Right, but some folks also pointed out you should've used an array in Java in the previous blog post, 2 years ago, and you didn't do that.

    And folks also pointed out Elixir shouldn't have used Task in the previous benchmark (folk here being the creator of Elixir himself): https://github.com/pkolaczk/async-runtimes-benchmarks/pull/7

  5. uvloop

    Ultra fast asyncio event loop.

    I kept the `import uvloop` statement when just using asyncio so that both cases start in the same conditions.

    [0]: https://github.com/MagicStack/uvloop/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • An unordered list of things I miss in Go

    5 projects | news.ycombinator.com | 17 Aug 2024
  • Arena-Based Parsers

    4 projects | news.ycombinator.com | 8 May 2024
  • "Every time a new Go release happened, the package stopped building, and the authors had to add a new file with a new //go:build line, and then the entire ecosystem of packages with that as a dependency had to explicitly update to the new version" -- Go itself

    2 projects | /r/programmingcirclejerk | 6 Dec 2023
  • Go, Containers, and the Linux Scheduler

    4 projects | news.ycombinator.com | 7 Nov 2023
  • Why is Go's Garbage Collection so criticized?

    4 projects | /r/golang | 22 Nov 2022