go vs java并发性能对比
视频讲解:

矩阵相乘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线程切换成本很高,或者说“线程切换/计算矩阵相乘”比值较高,且随着并发度的增加这个比值越来越高,成以耗时的增涨速度超过了计算量的增涨速度。
以下是我精心设计的《go语言》专题视频,更多课程进我主页,点击顶部Tab的“课程”查看。




