1
INCerry 2022-06-27 13:21:46 +08:00 19
C# yyds
|
2
dcsuibian 2022-06-27 13:28:14 +08:00 2
知道 Python 慢,不过没想到有这么慢
|
3
liushuangbill 2022-06-27 13:29:57 +08:00 7
Node.js 还挺快
|
4
v23x 2022-06-27 13:30:57 +08:00
Rust the only true god
|
5
kerrspace 2022-06-27 13:34:31 +08:00
有没有大佬来说一下 rust 替代 c++的前景
|
6
qrobot 2022-06-27 13:35:15 +08:00
Java 不是性能取决于 JVM 么?
|
7
zmqiang 2022-06-27 13:36:08 +08:00
看了两遍才发现图的左边和右边顺序不一样
|
8
min 2022-06-27 13:37:05 +08:00 1
C#可以啊
|
9
icyalala 2022-06-27 13:38:42 +08:00
这有另外一个更知名的: https://github.com/kostya/benchmarks
|
10
ragnaroks 2022-06-27 13:39:05 +08:00
我虽然经常黑 java ,但是 java 不应该这么慢,最多落后 dotnet 两个身位,如果这个图是 dotnet 6 、java 11 那当我没说
|
11
Phishion 2022-06-27 13:41:37 +08:00 1
python3 倒数第一几个意思?后面没有其他语言了?
|
12
INCerry 2022-06-27 13:42:38 +08:00 4
@ragnaroks 看了下原链接 https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html
C# .NET SDK 6.0.101 Java openjdk 18 2022-03-22 OpenJDK 64-Bit Server VM |
13
Leviathann 2022-06-27 13:43:11 +08:00
swift 是不是最慢的 native 语言
|
14
mosfet 2022-06-27 13:44:15 +08:00
我记得 C# JAVA GO 都差不多的,半斤八俩
|
16
ecnelises 2022-06-27 13:46:05 +08:00 via iPhone
OCaml 的速度有点令人惊喜啊(虽然 Haskell 更快)。
Swift 直接毙了吧,背靠 LLVM 的静态语言搞成这样,不知道加入所有权后能提高多少。 |
17
MakHoCheung 2022-06-27 13:51:34 +08:00
Swift 不是编译成二进制的吗,这么慢
|
18
bk201 2022-06-27 13:51:56 +08:00
java 的性能有这么差吗?
|
19
buxudashi 2022-06-27 13:53:05 +08:00
lua 不是说很好吗?怎么连 PHP 都不如?
|
20
makelove 2022-06-27 13:57:00 +08:00
我大 javascript 神一样的存在
|
21
nmap 2022-06-27 13:57:47 +08:00
go 比起 c/c++/rust 还是差不少啊😥
|
22
liuxu 2022-06-27 13:59:09 +08:00
@kerrspace C++不清楚,linux 内核下个版本 5.20 要合并 rust 的基础设施了,现在 5.19 ,https://www.phoronix.com/scan.php?page=news_item&px=Rust-For-Linux-5.20-Possible
|
24
ifdef 2022-06-27 14:04:55 +08:00
我大 javascript 神一样的存在
|
25
Phishion 2022-06-27 14:09:08 +08:00
@iyaozhen 但是我觉得上面好些已经是事实上的 dead 语言了,或者根本没什么人用,可见以 Python3 的使用人群来说,性能也不是什么问题。
|
26
ragnaroks 2022-06-27 14:12:38 +08:00
@buxudashi lua 应该有两种用法,一个是基于 luajit 动态解析运行,一个是(开发游戏常用)直接编译成 lua.dll ,前者性能差到以为是网络卡了,后者应该在 c/c++ 的十倍以内
|
27
Cyshall 2022-06-27 14:13:40 +08:00 1
c# 为什么这么屌?
|
28
princelai 2022-06-27 14:16:15 +08:00
这个一年多前就讨论过了啊,我也画过图,https://www.v2ex.com/t/776893#reply51
另外 python 慢是因为他是用纯内置语言来实现算法,但实际上 python 除了调用 C++和 fortrain 写的东西外,在 numpy 和 numba 等技术加持下,python 写数值计算和算法并不慢,甚至能超过 90%的语言,我是没遇到过什么瓶颈。 |
29
luob 2022-06-27 14:17:26 +08:00 1
基本符合日常经验,c/c++开了 o2 之后谁也打不过,go 和 java 一个水平,比 nodejs 快 30-40%,python 比主流语言慢两个数量级(
|
30
tabris17 2022-06-27 14:17:30 +08:00 1
壮哉!大 python
|
31
iyaozhen 2022-06-27 14:17:45 +08:00
@Phishion 不是说人多就没有性能问题。
Python 主要是乘着 AI 的大船,不然使用量会少很多。这里说的是语音本身,但 Python 的特色是胶水语言和 C 紧密结合,这块大大提高了性能天花板 |
32
Phishion 2022-06-27 14:30:11 +08:00
@iyaozhen 实际体验我也没觉得 Python 比主流慢几十倍这个样子,我不知道你用 Python3 做什么开发,能很容易就遇到性能瓶颈?
|
34
Mark24 2022-06-27 14:35:35 +08:00
ruby 可以开 JIT ,会再快一倍左右
|
35
damngood 2022-06-27 14:35:54 +08:00
swift 和 go 的内存消耗指标很不错.
|
38
lolizeppelin 2022-06-27 14:46:48 +08:00
erlang 居然只比 python2 好一点点?
|
39
snoopyhai 2022-06-27 14:52:30 +08:00
印象中, deno 不是说因为 node 差, 才生出来的嘛. node 都在榜上, deno 上不了榜么?
|
41
28Sv0ngQfIE7Yloe 2022-06-27 15:10:18 +08:00 3
Go 其实没大家想的那么快,而且做 WEB 开发心智负担有点大,还是适合写一些基础设施、中间件
|
42
zhangchongjie 2022-06-27 15:11:02 +08:00
说 js 差的,这个数据有点打脸了😂,现在不是 php 是最好的语言,现在是 python
|
44
zhuangzhuang1988 2022-06-27 15:19:13 +08:00 2
C# 牛逼
|
45
icyalala 2022-06-27 15:32:59 +08:00 1
@Leviathann @MakHoCheung
Swift 的安全特性,很多都是默认开启放在运行时的。比如 a + b 实际运行时会添加额外指令来检测 overflow 。 如果要考虑性能的话,至少要明白这点,比如 a + b 应该改为 a &+ b 来允许 overflow 。 这个测试代码很多都没考虑这点: https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/swift.html |
46
Chad0000 2022-06-27 15:36:35 +08:00 via iPhone 3
什么时候 C#打包的应用能和 Go 一样小就更 NB 了。
利益相关:C#程序员 |
47
cnoder 2022-06-27 15:37:32 +08:00
lua 应该没算 luajit 吧
|
48
svt 2022-06-27 15:41:01 +08:00
开打开打
|
49
lujiaosama 2022-06-27 15:43:08 +08:00
nodejs 还挺快, 问题是 nodejs 也算语言??
|
50
wanacry 2022-06-27 15:46:31 +08:00
没 js 吗
|
51
INCerry 2022-06-27 15:50:19 +08:00 5
@Chad0000 目前是可以做到, 有一个 reflection-free 选项,开启以后打包出来的只有几 MB
但是需要放弃很多特性(比如反射会弱的一批,动态加载没了,EMIT 代码生成没办法了-基本上很多 AOP ORM 框架都用不了了),写起来就跟直接用 Go 差不多了,很不爽。 https://github.com/dotnet/runtime/blob/main/src/coreclr/nativeaot/docs/reflection-free-mode.md |
52
ysc3839 2022-06-27 15:51:57 +08:00 via Android
@MakHoCheung 编译成机器代码不代表中间运行时没有开销。比如 Objective-C 也是编译成机器代码的,但是对象间进行消息传递(类似别的语言的函数调用)要走 objc runtime 绕一圈,开销较大。
@snoopyhai 是觉得 Node.js 设计得不好吧,而不是底层引擎性能差。 @lujiaosama 准确说应该是 V8 引擎,除非这个测试涉及了网络部分。 |
53
Building 2022-06-27 16:00:29 +08:00
Swift 已经沉浸在各类语法糖中无法自拔,在稳定性上用点心好吗?
|
54
maclon 2022-06-27 16:09:36 +08:00
rust 超屌
|
55
cnnbboy 2022-06-27 16:10:08 +08:00
Swift 这么拉跨。。
|
56
roundgis 2022-06-27 16:18:41 +08:00 via Android 2
|
57
gimp 2022-06-27 16:20:46 +08:00
悲哉!我大 Python
|
58
Features 2022-06-27 16:31:46 +08:00
实际上 99.99%的人都不会遇到语言上的瓶颈
都是其他方面的 后端基本是 I/O 的,前端是 webview ,浏览器环境调优 客户端就海了去了,基本没有一个是语言本身带来的瓶颈 |
60
qrobot 2022-06-27 16:36:42 +08:00
|
61
abersheeran 2022-06-27 16:49:18 +08:00 2
@qrobot 显然 discord 的这个业务是那 1%,你可以尝试去调查一下,有多少人开发的业务需要精细化到扣 GC 时间。绝大部分的业务甚至连 Python 的瓶颈都摸不到。更别提 Golang 了。
类似于 V2EX 甚至 Instagram 的 CRUD ,Python 就够用了。 |
62
greygoo 2022-06-27 16:49:45 +08:00
看看好玩就行了,没有什么参考性,性能都是要代价的
|
63
g190875565 2022-06-27 16:51:45 +08:00
jsnb
|
64
qrobot 2022-06-27 16:53:51 +08:00
|
65
qrobot 2022-06-27 16:55:14 +08:00
@abersheeran 在补充一下 chromium 如果也是 1% 那么你说的百分之一占据的全世界的开发还是挺多的
|
66
abersheeran 2022-06-27 16:56:48 +08:00 1
@qrobot 💦给你说个反直觉的东西,Web 服务,php 的占有率高达 78.9%。这世界上的程序远比你想象的多。
|
67
abersheeran 2022-06-27 16:58:52 +08:00 1
@qrobot chromium 既然你提到这个,那你思考一下,是在 chromium 上面跑页面的业务多,还是开发 chromium 的多。
|
68
NeezerGu 2022-06-27 16:59:25 +08:00
如果这是跑分图,我大 python 秒天秒地 doge
|
69
qrobot 2022-06-27 17:00:06 +08:00
@abersheeran 实际上开发 chromium ,或者基于 chromium 开发出来的程序,比你想想中的多的多
|
71
Protocol 2022-06-27 17:01:23 +08:00
明明 C++是第一,而且 C#比 C++性能表现已经低了一倍,为什么那么多喊 C#牛逼的却没有喊 C++牛逼的?
|
72
abersheeran 2022-06-27 17:01:23 +08:00
@qrobot 嗯,我最近的活刚好就是有一部分涉及到 chromium 。你说是网站多,还是开发 chromium 的多?
|
73
qrobot 2022-06-27 17:07:32 +08:00
@abersheeran PHP 的占有率是百分之 78.9%, 这是原文,如果是这个去调查肯定不太准啊
这个调查结果是来着这里的对吧 https://w3techs.com/technologies Methodology When interpreting our surveys, you should know the following: We investigate technologies of websites, not of individual web pages. If we find a technology on any of the pages, it is considered to be used by the website. We include only the top 10 million websites (top 1 million before June 2013) in the statistics in order to limit the impact of domain spammers. We include all sites that are either in the Alexa top 10 million or in the Tranco top 1 million list. Website popularity rankings are sometimes considered inaccurate for measuring website traffic, but we find that they serve our purpose of providing a representative sample of established sites very well. The Alexa service retired on May 2022, but the ranking API will be operational until December 2022. We keep using Alexa for the time being, and we are working on alternatives. We exclude sites that have no useful content, e.g. sites that only show the default web server page. We also exclude sites that are essentially duplicates of other sites. We do not include redirected domains. For example, Sun.com redirects to Oracle.com, and is therefore not counted. We do not consider subdomains to be separate websites. For instance, sub1.example.com and sub2.example.com are considered to belong to the same site as example.com. That means for example, that all the subdomains of blogger.com, wordpress.com and similar sites are counted only as one website. We use the official part of the Public Suffix List to determine what exactly is a website. Because this differs a bit from Alexa's and Tranco's definition, the "top 10 million" websites are actually not exactly 10 million. However, this has no statistical significance. Our reports are updated daily. Please be aware of the limitations indicated in our disclaimer. |
75
qrobot 2022-06-27 17:08:55 +08:00
@abersheeran 开发 chromium 绝对不可能是只有 1%, 甚至开始说的 0.01% 是绝对不可能的
|
79
di1012 2022-06-27 17:14:41 +08:00
作为一个.netor 很欣慰
|
81
gbw1992 2022-06-27 17:18:13 +08:00
同样解释性语言,nodejs 和 python 为啥差这么多
|
82
zhangchongjie 2022-06-27 17:20:05 +08:00
@Protocol 因为 v 站用的人太少了吧
|
84
INCerry 2022-06-27 17:22:20 +08:00
@Protocol 因为 C/C++一直都是天花板 但是 C# 开发效率高 另外是带 JIT GC Runtime 里面跑的最快的
|
86
Mark24 2022-06-27 17:25:14 +08:00
做过一个简单的
https://github.com/Mark24Code/fib-benchmark ![macos_x86_64_Benchmark]( https://github.com/Mark24Code/fib-benchmark/blob/main/macos_x86_64_Benchmark.png) |
88
Mark24 2022-06-27 17:38:06 +08:00
|
90
cclin 2022-06-27 17:40:38 +08:00 via Android
haskell 这么快我是没想到的
|
91
andrew2558 2022-06-27 17:54:51 +08:00
go 和 dart 这么差吗
|
92
andrew2558 2022-06-27 17:56:20 +08:00
dart 比 node.js 差是有点不理解
|
93
tramm 2022-06-27 17:57:06 +08:00
我记得 Java 性能能达到 C 的 70%左右的啊
|
94
bbqqddwhy 2022-06-27 17:58:15 +08:00
引战贴,坏人啊
|
95
aviator 2022-06-27 18:04:39 +08:00
不知道 java 有没有用到后端编译的 JIT
|
97
karatsuba 2022-06-27 18:13:29 +08:00
C++ + Python 哈哈哈
|
98
fgwmlhdkkkw 2022-06-27 18:18:47 +08:00
@zhangchongjie #42 这是 v8 强,js 就是垃圾啊
|
99
fgwmlhdkkkw 2022-06-27 18:19:56 +08:00
@gbw1992 #81 v8 有 jit ,python 没有。
|
100
GrayXu 2022-06-27 18:23:56 +08:00
话说 benchmark 具体的测试项目应该也影响不小吧。。这图里 Go 居然和 Java 差不多速度。。
|