欢迎光临散文网 会员登陆 & 注册

go vs java并发性能对比

2023-06-02 09:46 作者:高性能golang  | 我要投稿

视频讲解:

矩阵相乘go代码

编译:go build -o concurrence/matmul.exe concurrence/mat_mul.go

运行:.\concurrence\matmul.exe 10

矩阵相乘java代码

编译:javac -encoding UTF-8 concurrence/MatMul.java

运行:java concurrence/MatMul 10

耗时对比

go并发性能远胜于java

原因

耗时由两部分组成:

  1. 计算矩阵相乘

  2. 协程/线程的切换

在go语言里,协程的切换成本非常低,所以耗时几乎全来自于计算矩阵相乘,所以计算量十倍十倍地涨时,耗时也差不多是十倍十倍地涨。

java线程切换成本很高,或者说“线程切换/计算矩阵相乘”比值较高,且随着并发度的增加这个比值越来越高,成以耗时的增涨速度超过了计算量的增涨速度。



以下是我精心设计的《go语言》专题视频,更多课程进我主页,点击顶部Tab的“课程”查看。



go vs java并发性能对比的评论 (共 条)

分享到微博请遵守国家法律