Rust、Erlang 并发数量比较

  最近在看Rust,于是就心血来潮的把Rust的并发和erlang的拿来做比较,想看看谁支持的数量大。于是就有了下面的小片段,皆因好空虚、好寂寞、好冷。
  我的机器配置如下:宏基4738G 笔记本,CPU Inter i3 2.53GHZ ,内存 2G


1)Rust代码如下: 

fn main() {
  let mut i = 0;
  while i < 1000000 {
   println(fmt!("The %dth task", i));
   do spawn {loop{}};  //这个任务无限循环,不停止
   i += 1;
  }
}
 初学Rust,可能写的比较蹩脚,别见笑。

2)Erlang代码如下:

-module(spawntest).
-export([test/0, loop/1]).
loop(N) ->
  if N /= 0 ->
     io:format("the ~wth task has spawn~n", [N]);
	true-> void
  end,
  loop(0).   //无限循环,不停止
test()->
 [spawn(?MODULE, loop, [N]) || N <- lists:seq(1,1000000)].

运行结果如下图:
 
Rust的到9万多进程的时候,就Out of memory了。 


erlang到3万多条就超出系统限制了,CMD里 Erl + P 1000000,再运行,老是到1000多个的时候就看不到动静了,也就懒得继续了啊。。。

没有看到erlang传说当中的上百万进程。或者是我的代码写的不好?当然,Rust还是一门在发展当中的语言,我相信它能变得更好。
欢迎各位看官拍砖,欢迎各种喷子。

转载于:https://my.oschina.net/huanghongqiao/blog/152597

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值