您现在的位置是:首页 >技术教程 >运行 100 万个并发任务需要多少内存?网站首页技术教程

运行 100 万个并发任务需要多少内存?

鱼弦 2024-06-25 00:01:03
简介运行 100 万个并发任务需要多少内存?

在这篇博文中,我深入研究了 Rust、Go、Java、C#、Python、Node.js 和 Elixir 等流行语言在异步和多线程编程之间的内存消耗比较。

前段时间,我不得不比较一些旨在处理大量网络连接的计算机程序的性能。我看到这些程序的内存消耗存在巨大差异,甚至超过 20 倍。一些程序消耗的内存略多于 100 MB,但其他程序在 10k 连接时几乎达到 3 GB。不幸的是,这些程序非常复杂,而且在功能上也各不相同,因此很难直接比较它们并得出一些有意义的结论,因为这不是一个对等的比较。这让我产生了创建综合基准的想法。

我用各种编程语言创建了以下程序:

让我们启动 N 个并发任务,其中每个任务等待 10 秒,然后在所有任务完成后程序存在。任务的数量由命令行参数控制。

在 ChatGPT 的一点帮助下,我可以在几分钟内编写出这样的程序,即使是使用我不是每天使用的编程语言。为了您的方便,所有基准测试代码都可以在我的 GitHub 上找到

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。