这个各大语言性能测试结果挺有意思

2022-06-27 13:06:40 +08:00
 wdwwtzy
来自 https://github.com/GoodManWEN/Programming-Language-Benchmarks-Visualization

21170 次点击
所在节点    程序员
182 条回复
28Sv0ngQfIE7Yloe
2022-06-27 15:10:18 +08:00
Go 其实没大家想的那么快,而且做 WEB 开发心智负担有点大,还是适合写一些基础设施、中间件
zhangchongjie
2022-06-27 15:11:02 +08:00
说 js 差的,这个数据有点打脸了😂,现在不是 php 是最好的语言,现在是 python
DOLLOR
2022-06-27 15:18:37 +08:00
@buxudashi
你说的那个是 LuaJIT ,类似于 PyPy 之于 Python ,性能跟 JS V8 相当。
zhuangzhuang1988
2022-06-27 15:19:13 +08:00
C# 牛逼
icyalala
2022-06-27 15:32:59 +08:00
@Leviathann @MakHoCheung
Swift 的安全特性,很多都是默认开启放在运行时的。比如 a + b 实际运行时会添加额外指令来检测 overflow 。
如果要考虑性能的话,至少要明白这点,比如 a + b 应该改为 a &+ b 来允许 overflow 。

这个测试代码很多都没考虑这点:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/swift.html
Chad0000
2022-06-27 15:36:35 +08:00
什么时候 C#打包的应用能和 Go 一样小就更 NB 了。

利益相关:C#程序员
cnoder
2022-06-27 15:37:32 +08:00
lua 应该没算 luajit 吧
svt
2022-06-27 15:41:01 +08:00
开打开打
lujiaosama
2022-06-27 15:43:08 +08:00
nodejs 还挺快, 问题是 nodejs 也算语言??
wanacry
2022-06-27 15:46:31 +08:00
没 js 吗
INCerry
2022-06-27 15:50:19 +08:00
@Chad0000 目前是可以做到, 有一个 reflection-free 选项,开启以后打包出来的只有几 MB
但是需要放弃很多特性(比如反射会弱的一批,动态加载没了,EMIT 代码生成没办法了-基本上很多 AOP ORM 框架都用不了了),写起来就跟直接用 Go 差不多了,很不爽。
https://github.com/dotnet/runtime/blob/main/src/coreclr/nativeaot/docs/reflection-free-mode.md
ysc3839
2022-06-27 15:51:57 +08:00
@MakHoCheung 编译成机器代码不代表中间运行时没有开销。比如 Objective-C 也是编译成机器代码的,但是对象间进行消息传递(类似别的语言的函数调用)要走 objc runtime 绕一圈,开销较大。
@snoopyhai 是觉得 Node.js 设计得不好吧,而不是底层引擎性能差。
@lujiaosama 准确说应该是 V8 引擎,除非这个测试涉及了网络部分。
Building
2022-06-27 16:00:29 +08:00
Swift 已经沉浸在各类语法糖中无法自拔,在稳定性上用点心好吗?
maclon
2022-06-27 16:09:36 +08:00
rust 超屌
cnnbboy
2022-06-27 16:10:08 +08:00
Swift 这么拉跨。。
roundgis
2022-06-27 16:18:41 +08:00
@Phishion python 慢的基本上不是用 c 就是 cython 重寫了 所以實際上差距並不明顯

如果涉及到和數據庫交互 差異就更小了
gimp
2022-06-27 16:20:46 +08:00
悲哉!我大 Python
Features
2022-06-27 16:31:46 +08:00
实际上 99.99%的人都不会遇到语言上的瓶颈
都是其他方面的
后端基本是 I/O 的,前端是 webview ,浏览器环境调优
客户端就海了去了,基本没有一个是语言本身带来的瓶颈
qrobot
2022-06-27 16:35:53 +08:00
@Features 如果语言本身没有瓶颈 , 那么能解释一下 Discord 为什么要从 go 切换到 rust ?
qrobot
2022-06-27 16:36:42 +08:00
@Features 能解释一下这篇文章里面说的信息吗?

https://discord.com/blog/why-discord-is-switching-from-go-to-rust

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/862452

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX