LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 411|回复: 0

Go语言的性能如何?

[复制链接]
发表于 2024-1-5 08:55:40 | 显示全部楼层 |阅读模式
根据 Go 开发团队和基本的算法测试,Go语言与C语言的性能差距大概在 10%~20% 之间。虽然没有官方的性能标准,但是与其它各个语言相比已经拥有非常出色的表现。

时下流行的语言大都是运行在虚拟机上,如:Java 和 Scala 使用的 JVM,C# 和 VB.NET 使用的 .NET CLR。尽管虚拟机的性能已经有了很大的提升,但任何使用 JIT 编译器和脚本语言解释器的编程语言(Ruby、Python、Perl 和 JavaScript)在 C 和 C++ 的绝对优势下甚至都无法在性能上望其项背。

这里以国外的一个编程语言性能测试网站 http://benchmarksgame.alioth.debian.org/ 为测试基准和数据源。这个网站可以对常见的编程语言进行性能比较,网站使用都是最新的语言版本和常见的一些算法。

通过对 C(gcc)、C++、Java、JavaScript 和Go语言的测试。性能比较如下表所示,表中数据的单位为秒,数值越小表明运行性能越好。


常见编程语言的运行性能比较
编程语言↓ / 测试用例→reverse-complementpidigitsfannkuch-reduxfastaspectral-normn-bodyk-nucleotidemandelbrotbinary-treesregex-redux
C语言0.421.738.971.331.999.965.381.652.381.45
C++0.61.8910.351.481.999.317.181.732.3617.14
Go0.492.0214.492.173.9621.4714.795.4635.1829.29
Java1.133.1215.092.324.2522.568.386.088.5810.38
JavaScript4.3N/A81.499.7916.1728.7466.0719.0453.644.44

通过上表可以看出,Go语言在性能上更接近于 Java 语言,虽然在某些测试用例上不如经过多年优化的 Java 语言,但毕竟 Java 语言已经经历了多年的积累和优化。Go语言在未来的版本中会通过不断的版本优化提高单核运行性能。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表