由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的
相关主题
golang為什麼語法和關鍵詞這麼冷門?看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
c++ programmer们就不用悲愤了为什么好多ID 见到 c++就好象 不共戴天呢?
微软的架构设计师真是大学生水平啊取代C++!Google 开发自己的编程语言Golang了 (转载)
Golang 从13年到现在goog trends翻了快十倍专业c++程序员都用什么ide (转载)
程序語言有兩種。which is faster and why ? (答对有包子)
Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ问一个volatile和memcpy一起用的问题
[合集] 老是关心语言快慢的人看过来牛人们来看看这个Dao语言怎么样
震惊:java 的矩阵操作比 c++ 快?C++11 support is now feature-complete in clang.
相关话题的讨论汇总
话题: go话题: golang话题: cpp话题: defs话题: amd64
进入Programming版参与讨论
1 (共1页)
m*****p
发帖数: 39
1
我上一個貼提到了golang兩大問題:GOGC和goroutine調度,今天開會同事又發現很多
其他性能問題。
1. encryption(對稱或非對稱):golang非常慢,比openssl慢10倍不止,因為openssl
寫了很多assembly,尤其在非x86上面特別明顯。
2. string vectorization:libc有很多手寫SSE/AVX優化,對應的golang根本全靠編譯
器,在x86和非x86上表現都很差,也是10倍不止。
3. 沒有標準threadlocal,這個Cpp14也有很多優化,多核性能差距明顯。
4. golang周邊庫不如cpp穩健,尤其和folly、abseil比較
5. golang不支持硬件加速,因為目前很多硬件廠商都倒向LLVM,它彌補了部分GCC、
ICC的弊病,留給golang的市場空間變小了
結論:
a. 嚴肅項目(尤其跟性能相關的後台項目)還是cpp天下
b. 深度學習應該使用python和cpp
c. 刷題最好用cpp或java,未來cpp/java都會有fiber,比goroutine強
總之golang看起來很好,但是實際性能不怎麼樣,注定是小眾語言。
b******t
发帖数: 9
2
go的三巨头就不说了,连小马仔russ cox都是当年的奥赛金牌。
你确信他们都搞错了。
m*****p
发帖数: 39
3
就憑幾個牛人幾個公司幾年時間就想超越cpp、java或csharp,我看懸,golang最好的
結果就是scala,是小眾語言。
w********m
发帖数: 1137
4
go是区块链语言,不会是小众语言。
觉得go性能不好,可以去leetcode和java同时刷刷比较一下。
y*j
发帖数: 3139
5
个人认为GOLang作为系统语言来说过于高级,应该有一个稍微低级一点的语言GO--就好
了。
w***g
发帖数: 5958
6
用cpp可破。


:我上一個貼提到了golang兩大問題:GOGC和goroutine調度,今天開會同事又發現很多
g****t
发帖数: 31659
7
Go的性能打的是java,python。
任何语言和c,Fortran, pascal比性能本身就是个错误。
从计算的角度来看。
能严肃多线程并行的语言除了c sharp,cpp, java就只有golang了。golang开发速度和
python差不多(如果你不用第三方库)。
g****t
发帖数: 31659
8
你说的这些都是很好的知识。但结论有些不靠谱。尤其是未来java的
Fiber赢goroutine.这个大部分其实是取决于资金,不是技术。
m*****p
发帖数: 39
9
leetcode的測試數據量太小,大部分是jvm啟動慢的問題,而且jit也不一定被啟動。
leetcode的測試結果偏向靜態連結非託管程序。

【在 w********m 的大作中提到】
: go是区块链语言,不会是小众语言。
: 觉得go性能不好,可以去leetcode和java同时刷刷比较一下。

m*****p
发帖数: 39
10
(如果你不用第三方库)-> 這個才是重點好嗎。
一個語言不是拼自己的標準庫,是拼社區,三方庫,這方面cpp和java完爆golang。
我結論的前提是:當FB和G、M開放他們自己的庫後,cpp競爭力明顯上升。再加上無縫
兼容LLVM,硬件加速未來也沒有問題。有機會去研究一下我提到的folly和abseil再說
吧,golang的三方庫就是開玩笑。

【在 g****t 的大作中提到】
: Go的性能打的是java,python。
: 任何语言和c,Fortran, pascal比性能本身就是个错误。
: 从计算的角度来看。
: 能严肃多线程并行的语言除了c sharp,cpp, java就只有golang了。golang开发速度和
: python差不多(如果你不用第三方库)。

相关主题
Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
[合集] 老是关心语言快慢的人看过来为什么好多ID 见到 c++就好象 不共戴天呢?
震惊:java 的矩阵操作比 c++ 快?取代C++!Google 开发自己的编程语言Golang了 (转载)
进入Programming版参与讨论
m*****p
发帖数: 39
11
我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比google
自己錢少麼?
golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
大規模用?FB?Amazon?M?IBM?
另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
python這種二流語言都趕不上

【在 g****t 的大作中提到】
: 你说的这些都是很好的知识。但结论有些不靠谱。尤其是未来java的
: Fiber赢goroutine.这个大部分其实是取决于资金,不是技术。

g****t
发帖数: 31659
12
我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。
1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是golang。
我不用第三方库的理由是很明显的,你想想就明白了.
我不可能在指甲盖小的芯片里装pandas

google

【在 m*****p 的大作中提到】
: 我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比google
: 自己錢少麼?
: golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
: 大規模用?FB?Amazon?M?IBM?
: 另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
: python這種二流語言都趕不上

g****t
发帖数: 31659
13
这取决于公司对单个项目的投入。对散户来说这些信息是不可知的。
所以我认为这条不需要列入讨论内容。

google

【在 m*****p 的大作中提到】
: 我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比google
: 自己錢少麼?
: golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
: 大規模用?FB?Amazon?M?IBM?
: 另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
: python這種二流語言都趕不上

w********m
发帖数: 1137
14
做web都差不多的,没人care。
要看大腿。
java报了android的大腿。
python报了DL的大腿。
现在go要报区块链的大腿了。
一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。
g****t
发帖数: 31659
15
假如不考虑第三方库等历史因素。我现在感觉Go开发速度和python差不多。
只要你自己补好emacs,vim等的tool。
写个区块链。python多半是比不上go。无论从开发速度还是运行和部署。

【在 w********m 的大作中提到】
: 做web都差不多的,没人care。
: 要看大腿。
: java报了android的大腿。
: python报了DL的大腿。
: 现在go要报区块链的大腿了。
: 一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。

m*****p
发帖数: 39
16
我沒有說要用python這個二流語言啊,我的結論是:刷題練手、嚴肅項目最好用cpp或
java或csharp。
你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不支持動態連結
,跟cpp沒法比。
如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方庫?
如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?
這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp編譯器本身就
是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?
未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有豐富的第三方
庫,為啥不用?
我個人感覺把這三種語言的新特性弄清楚比新學golang更重要,而且他們之間感念相近
,觸類旁通。

golang。

【在 g****t 的大作中提到】
: 我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。
: 1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
: 2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是golang。
: 我不用第三方库的理由是很明显的,你想想就明白了.
: 我不可能在指甲盖小的芯片里装pandas
:
: google

m*****p
发帖数: 39
17
區塊鏈,為什麼不用cpp加第三方庫?

【在 g****t 的大作中提到】
: 假如不考虑第三方库等历史因素。我现在感觉Go开发速度和python差不多。
: 只要你自己补好emacs,vim等的tool。
: 写个区块链。python多半是比不上go。无论从开发速度还是运行和部署。

g****t
发帖数: 31659
18
你非要无视事实。
说golang做不了严肃项目。
Python二流语言。
那又有什么意思呢?
我觉得你对two language dilemma 经历的不够。
不知道 两种语言 实际上会有多少麻烦。
谁要是觉得python 加c开发算法产品容易。
那他多半没做过足够多的项目。


: 我沒有說要用python這個二流語言啊,我的結論是:刷題練手、嚴肅項目
最好用
cpp或

: java或csharp。

: 你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不
支持動
態連結

: ,跟cpp沒法比。

: 如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方
庫?

: 如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?

: 這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp
編譯器
本身就

: 是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?

: 未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有
豐富的
第三方

: 庫,為啥不用?



【在 m*****p 的大作中提到】
: 區塊鏈,為什麼不用cpp加第三方庫?
g****t
发帖数: 31659
19
你自己查资料吧。golang处在c和python之间。
你把语言的表达能力做x
可预测性做y
XY上任何一个横向zone都有需求


: 區塊鏈,為什麼不用cpp加第三方庫?



【在 m*****p 的大作中提到】
: 區塊鏈,為什麼不用cpp加第三方庫?
f*******t
发帖数: 7549
20
不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
了,意见统一写在这里。
* 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
所有环境中都能运行。C++行吗?
* 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github
下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
* 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
的现象,绝大多数时候并不需要担心这点。
* Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有
百万行以上的代码,工具都是针对现有语言开发的,不可能直接替换成另一种语言,都
是先从一小群爱好者开始慢慢推广。这也是为什么Amazon等公司一直用Java,FB费好大
劲给PHP做HHVM。目前Go在中小型公司的新项目上很受欢迎,另外uber算大公司了吧,
很多backend service选择了用Go开发,不也用着好好的。
大部分开发工作是business driven的,与其盯着几个10x性能问题,不如花时间想想这
些事情:招聘或培养合格程序员的成本,让代码在不同的开发与生产环境之间顺利部署
的难度,代码可读与可维护性,不需要微调时的开发效率……你就能明白为什么Go会在
web service和system management领域流行起来。最好的语言是满足business需求的同
时,综合成本最低的语言。
相关主题
专业c++程序员都用什么ide (转载)牛人们来看看这个Dao语言怎么样
which is faster and why ? (答对有包子)C++11 support is now feature-complete in clang.
问一个volatile和memcpy一起用的问题转贴:[圣战] python 是个讨厌的语言
进入Programming版参与讨论
y**********u
发帖数: 2839
21
> 就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步
骤顺利编译的
嗯呢,都是泪啊

github

【在 f*******t 的大作中提到】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有

g****t
发帖数: 31659
22
楼主比较熟悉他传统上用来跑benchmark的一些case。可能没有实际卖过软件.
这个可以理解。但是软件现在是大发展的时代。。。

github

【在 f*******t 的大作中提到】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有

h**c
发帖数: 1979
23
哈哈哈,确实如此。

【在 y**********u 的大作中提到】
: > 就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步
: 骤顺利编译的
: 嗯呢,都是泪啊
:
: github

w***g
发帖数: 5958
24
不然你们觉得我怎么赚钱...

【在 y**********u 的大作中提到】
: > 就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步
: 骤顺利编译的
: 嗯呢,都是泪啊
:
: github

n******t
发帖数: 4406
25
暈,什麼叫做區塊鏈語言?
你忽悠誰呢?

【在 w********m 的大作中提到】
: go是区块链语言,不会是小众语言。
: 觉得go性能不好,可以去leetcode和java同时刷刷比较一下。

y**********u
发帖数: 2839
26
dong哥好棒

【在 w***g 的大作中提到】
: 不然你们觉得我怎么赚钱...
n****l
发帖数: 1739
27
sure golang has issues, but c++ has way more issues than that. and those
issues are more fundamental. you think golang designers are idiots, think
again.
d***a
发帖数: 13752
28
这个话题有必要吵吗。:)
Go本来就不应该和C/C++比性能啊。
g****t
发帖数: 31659
29
现在区块链好多项目确实是golang写的。


: 暈,什麼叫做區塊鏈語言?

: 你忽悠誰呢?



【在 n******t 的大作中提到】
: 暈,什麼叫做區塊鏈語言?
: 你忽悠誰呢?

g****t
发帖数: 31659
30
和java,python比差不多。


: 这个话题有必要吵吗。:)

: Go本来就不应该和C/C 比性能啊。



【在 d***a 的大作中提到】
: 这个话题有必要吵吗。:)
: Go本来就不应该和C/C++比性能啊。

相关主题
javascript是要统一江湖的c++ programmer们就不用悲愤了
Dao语言2.0第一个测试版发布了!微软的架构设计师真是大学生水平啊
golang為什麼語法和關鍵詞這麼冷門?Golang 从13年到现在goog trends翻了快十倍
进入Programming版参与讨论
y**********u
发帖数: 2839
31
唉,C还没学明白呢,咋整出这么多语言啊,老帮菜真是惨
n*w
发帖数: 3393
h**c
发帖数: 1979
33
区块链这种服务器端的本来就适合用go,但是如果要挖矿那还是c++
f*******t
发帖数: 7549
34
据说Go对于写C的老帮菜们是无缝升级的特供语言

【在 y**********u 的大作中提到】
: 唉,C还没学明白呢,咋整出这么多语言啊,老帮菜真是惨
g****t
发帖数: 31659
35
Golang一共25个关键字。对python,c,c plus,...
几乎任何语言的马工都是无缝升级----只要你不用第三方库。
我半小时就开始写代码了。
C比golang难写多了。


: 据说Go对于写C的老帮菜们是无缝升级的特供语言



【在 f*******t 的大作中提到】
: 据说Go对于写C的老帮菜们是无缝升级的特供语言
n*w
发帖数: 3393
36
不理解的一点是。go比较简单。很多特性都没有。又说又很多大牛在做。为什么性能重
来不是名列前茅的。记得第一版出来时无论是编译还是运行速度都慢。

python-

【在 n*w 的大作中提到】
: https://read.acloud.guru/comparing-aws-lambda-performance-of-node-js-python-
: java-c-and-go-29c1163c2581

m*****p
发帖数: 39
37
我上一個貼提到了golang兩大問題:GOGC和goroutine調度,今天開會同事又發現很多
其他性能問題。
1. encryption(對稱或非對稱):golang非常慢,比openssl慢10倍不止,因為openssl
寫了很多assembly,尤其在非x86上面特別明顯。
2. string vectorization:libc有很多手寫SSE/AVX優化,對應的golang根本全靠編譯
器,在x86和非x86上表現都很差,也是10倍不止。
3. 沒有標準threadlocal,這個Cpp14也有很多優化,多核性能差距明顯。
4. golang周邊庫不如cpp穩健,尤其和folly、abseil比較
5. golang不支持硬件加速,因為目前很多硬件廠商都倒向LLVM,它彌補了部分GCC、
ICC的弊病,留給golang的市場空間變小了
結論:
a. 嚴肅項目(尤其跟性能相關的後台項目)還是cpp天下
b. 深度學習應該使用python和cpp
c. 刷題最好用cpp或java,未來cpp/java都會有fiber,比goroutine強
總之golang看起來很好,但是實際性能不怎麼樣,注定是小眾語言。
b******t
发帖数: 9
38
go的三巨头就不说了,连小马仔russ cox都是当年的奥赛金牌。
你确信他们都搞错了。
m*****p
发帖数: 39
39
就憑幾個牛人幾個公司幾年時間就想超越cpp、java或csharp,我看懸,golang最好的
結果就是scala,是小眾語言。
w********m
发帖数: 1137
40
go是区块链语言,不会是小众语言。
觉得go性能不好,可以去leetcode和java同时刷刷比较一下。
相关主题
Golang 从13年到现在goog trends翻了快十倍[合集] 老是关心语言快慢的人看过来
程序語言有兩種。震惊:java 的矩阵操作比 c++ 快?
Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
进入Programming版参与讨论
y*j
发帖数: 3139
41
个人认为GOLang作为系统语言来说过于高级,应该有一个稍微低级一点的语言GO--就好
了。
w***g
发帖数: 5958
42
用cpp可破。


:我上一個貼提到了golang兩大問題:GOGC和goroutine調度,今天開會同事又發現很多
g****t
发帖数: 31659
43
Go的性能打的是java,python。
任何语言和c,Fortran, pascal比性能本身就是个错误。
从计算的角度来看。
能严肃多线程并行的语言除了c sharp,cpp, java就只有golang了。golang开发速度和
python差不多(如果你不用第三方库)。
g****t
发帖数: 31659
44
你说的这些都是很好的知识。但结论有些不靠谱。尤其是未来java的
Fiber赢goroutine.这个大部分其实是取决于资金,不是技术。
m*****p
发帖数: 39
45
leetcode的測試數據量太小,大部分是jvm啟動慢的問題,而且jit也不一定被啟動。
leetcode的測試結果偏向靜態連結非託管程序。

【在 w********m 的大作中提到】
: go是区块链语言,不会是小众语言。
: 觉得go性能不好,可以去leetcode和java同时刷刷比较一下。

m*****p
发帖数: 39
46
(如果你不用第三方库)-> 這個才是重點好嗎。
一個語言不是拼自己的標準庫,是拼社區,三方庫,這方面cpp和java完爆golang。
我結論的前提是:當FB和G、M開放他們自己的庫後,cpp競爭力明顯上升。再加上無縫
兼容LLVM,硬件加速未來也沒有問題。有機會去研究一下我提到的folly和abseil再說
吧,golang的三方庫就是開玩笑。

【在 g****t 的大作中提到】
: Go的性能打的是java,python。
: 任何语言和c,Fortran, pascal比性能本身就是个错误。
: 从计算的角度来看。
: 能严肃多线程并行的语言除了c sharp,cpp, java就只有golang了。golang开发速度和
: python差不多(如果你不用第三方库)。

m*****p
发帖数: 39
47
我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比google
自己錢少麼?
golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
大規模用?FB?Amazon?M?IBM?
另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
python這種二流語言都趕不上

【在 g****t 的大作中提到】
: 你说的这些都是很好的知识。但结论有些不靠谱。尤其是未来java的
: Fiber赢goroutine.这个大部分其实是取决于资金,不是技术。

g****t
发帖数: 31659
48
我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。
1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是golang。
我不用第三方库的理由是很明显的,你想想就明白了.
我不可能在指甲盖小的芯片里装pandas

google

【在 m*****p 的大作中提到】
: 我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比google
: 自己錢少麼?
: golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
: 大規模用?FB?Amazon?M?IBM?
: 另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
: python這種二流語言都趕不上

g****t
发帖数: 31659
49
这取决于公司对单个项目的投入。对散户来说这些信息是不可知的。
所以我认为这条不需要列入讨论内容。

google

【在 m*****p 的大作中提到】
: 我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比google
: 自己錢少麼?
: golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
: 大規模用?FB?Amazon?M?IBM?
: 另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
: python這種二流語言都趕不上

w********m
发帖数: 1137
50
做web都差不多的,没人care。
要看大腿。
java报了android的大腿。
python报了DL的大腿。
现在go要报区块链的大腿了。
一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。
相关主题
为什么好多ID 见到 c++就好象 不共戴天呢?which is faster and why ? (答对有包子)
取代C++!Google 开发自己的编程语言Golang了 (转载)问一个volatile和memcpy一起用的问题
专业c++程序员都用什么ide (转载)牛人们来看看这个Dao语言怎么样
进入Programming版参与讨论
g****t
发帖数: 31659
51
假如不考虑第三方库等历史因素。我现在感觉Go开发速度和python差不多。
只要你自己补好emacs,vim等的tool。
写个区块链。python多半是比不上go。无论从开发速度还是运行和部署。

【在 w********m 的大作中提到】
: 做web都差不多的,没人care。
: 要看大腿。
: java报了android的大腿。
: python报了DL的大腿。
: 现在go要报区块链的大腿了。
: 一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。

m*****p
发帖数: 39
52
我沒有說要用python這個二流語言啊,我的結論是:刷題練手、嚴肅項目最好用cpp或
java或csharp。
你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不支持動態連結
,跟cpp沒法比。
如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方庫?
如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?
這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp編譯器本身就
是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?
未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有豐富的第三方
庫,為啥不用?
我個人感覺把這三種語言的新特性弄清楚比新學golang更重要,而且他們之間感念相近
,觸類旁通。

golang。

【在 g****t 的大作中提到】
: 我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。
: 1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
: 2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是golang。
: 我不用第三方库的理由是很明显的,你想想就明白了.
: 我不可能在指甲盖小的芯片里装pandas
:
: google

m*****p
发帖数: 39
53
區塊鏈,為什麼不用cpp加第三方庫?

【在 g****t 的大作中提到】
: 假如不考虑第三方库等历史因素。我现在感觉Go开发速度和python差不多。
: 只要你自己补好emacs,vim等的tool。
: 写个区块链。python多半是比不上go。无论从开发速度还是运行和部署。

g****t
发帖数: 31659
54
你非要无视事实。
说golang做不了严肃项目。
Python二流语言。
那又有什么意思呢?
我觉得你对two language dilemma 经历的不够。
不知道 两种语言 实际上会有多少麻烦。
谁要是觉得python 加c开发算法产品容易。
那他多半没做过足够多的项目。


: 我沒有說要用python這個二流語言啊,我的結論是:刷題練手、嚴肅項目
最好用
cpp或

: java或csharp。

: 你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不
支持動
態連結

: ,跟cpp沒法比。

: 如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方
庫?

: 如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?

: 這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp
編譯器
本身就

: 是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?

: 未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有
豐富的
第三方

: 庫,為啥不用?



【在 m*****p 的大作中提到】
: 區塊鏈,為什麼不用cpp加第三方庫?
g****t
发帖数: 31659
55
你自己查资料吧。golang处在c和python之间。
你把语言的表达能力做x
可预测性做y
XY上任何一个横向zone都有需求


: 區塊鏈,為什麼不用cpp加第三方庫?



【在 m*****p 的大作中提到】
: 區塊鏈,為什麼不用cpp加第三方庫?
f*******t
发帖数: 7549
56
不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
了,意见统一写在这里。
* 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
所有环境中都能运行。C++行吗?
* 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github
下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
* 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
的现象,绝大多数时候并不需要担心这点。
* Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有
百万行以上的代码,工具都是针对现有语言开发的,不可能直接替换成另一种语言,都
是先从一小群爱好者开始慢慢推广。这也是为什么Amazon等公司一直用Java,FB费好大
劲给PHP做HHVM。目前Go在中小型公司的新项目上很受欢迎,另外uber算大公司了吧,
很多backend service选择了用Go开发,不也用着好好的。
大部分开发工作是business driven的,与其盯着几个10x性能问题,不如花时间想想这
些事情:招聘或培养合格程序员的成本,让代码在不同的开发与生产环境之间顺利部署
的难度,代码可读与可维护性,不需要微调时的开发效率……你就能明白为什么Go会在
web service和system management领域流行起来。最好的语言是满足business需求的同
时,综合成本最低的语言。
y**********u
发帖数: 2839
57
> 就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步
骤顺利编译的
嗯呢,都是泪啊

github

【在 f*******t 的大作中提到】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有

g****t
发帖数: 31659
58
楼主比较熟悉他传统上用来跑benchmark的一些case。可能没有实际卖过软件.
这个可以理解。但是软件现在是大发展的时代。。。

github

【在 f*******t 的大作中提到】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有

h**c
发帖数: 1979
59
哈哈哈,确实如此。

【在 y**********u 的大作中提到】
: > 就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步
: 骤顺利编译的
: 嗯呢,都是泪啊
:
: github

w***g
发帖数: 5958
60
不然你们觉得我怎么赚钱...

【在 y**********u 的大作中提到】
: > 就我个人经验而谈,从github下载的C++开源项目,几乎没一个能按照README里的步
: 骤顺利编译的
: 嗯呢,都是泪啊
:
: github

相关主题
C++11 support is now feature-complete in clang.Dao语言2.0第一个测试版发布了!
转贴:[圣战] python 是个讨厌的语言golang為什麼語法和關鍵詞這麼冷門?
javascript是要统一江湖的c++ programmer们就不用悲愤了
进入Programming版参与讨论
n******t
发帖数: 4406
61
暈,什麼叫做區塊鏈語言?
你忽悠誰呢?

【在 w********m 的大作中提到】
: go是区块链语言,不会是小众语言。
: 觉得go性能不好,可以去leetcode和java同时刷刷比较一下。

y**********u
发帖数: 2839
62
dong哥好棒

【在 w***g 的大作中提到】
: 不然你们觉得我怎么赚钱...
n****l
发帖数: 1739
63
sure golang has issues, but c++ has way more issues than that. and those
issues are more fundamental. you think golang designers are idiots, think
again.
d***a
发帖数: 13752
64
这个话题有必要吵吗。:)
Go本来就不应该和C/C++比性能啊。
g****t
发帖数: 31659
65
现在区块链好多项目确实是golang写的。


: 暈,什麼叫做區塊鏈語言?

: 你忽悠誰呢?



【在 n******t 的大作中提到】
: 暈,什麼叫做區塊鏈語言?
: 你忽悠誰呢?

g****t
发帖数: 31659
66
和java,python比差不多。


: 这个话题有必要吵吗。:)

: Go本来就不应该和C/C 比性能啊。



【在 d***a 的大作中提到】
: 这个话题有必要吵吗。:)
: Go本来就不应该和C/C++比性能啊。

y**********u
发帖数: 2839
67
唉,C还没学明白呢,咋整出这么多语言啊,老帮菜真是惨
n*w
发帖数: 3393
h**c
发帖数: 1979
69
区块链这种服务器端的本来就适合用go,但是如果要挖矿那还是c++
f*******t
发帖数: 7549
70
据说Go对于写C的老帮菜们是无缝升级的特供语言

【在 y**********u 的大作中提到】
: 唉,C还没学明白呢,咋整出这么多语言啊,老帮菜真是惨
相关主题
c++ programmer们就不用悲愤了程序語言有兩種。
微软的架构设计师真是大学生水平啊Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ
Golang 从13年到现在goog trends翻了快十倍[合集] 老是关心语言快慢的人看过来
进入Programming版参与讨论
g****t
发帖数: 31659
71
Golang一共25个关键字。对python,c,c plus,...
几乎任何语言的马工都是无缝升级----只要你不用第三方库。
我半小时就开始写代码了。
C比golang难写多了。


: 据说Go对于写C的老帮菜们是无缝升级的特供语言



【在 f*******t 的大作中提到】
: 据说Go对于写C的老帮菜们是无缝升级的特供语言
n*w
发帖数: 3393
72
不理解的一点是。go比较简单。很多特性都没有。又说又很多大牛在做。为什么性能重
来不是名列前茅的。记得第一版出来时无论是编译还是运行速度都慢。

python-

【在 n*w 的大作中提到】
: https://read.acloud.guru/comparing-aws-lambda-performance-of-node-js-python-
: java-c-and-go-29c1163c2581

w********m
发帖数: 1137
73
性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/question/
59481694
亮点是编译快,节省内存。

【在 n*w 的大作中提到】
: 不理解的一点是。go比较简单。很多特性都没有。又说又很多大牛在做。为什么性能重
: 来不是名列前茅的。记得第一版出来时无论是编译还是运行速度都慢。
:
: python-

f*******t
发帖数: 7549
74
Go里还是有指针的概念,java python程序员会比较难受。对于cpp程序员来说又精简掉
了template等复杂的东西。所以说从c过来是最舒服的。

【在 g****t 的大作中提到】
: Golang一共25个关键字。对python,c,c plus,...
: 几乎任何语言的马工都是无缝升级----只要你不用第三方库。
: 我半小时就开始写代码了。
: C比golang难写多了。
:
:
: 据说Go对于写C的老帮菜们是无缝升级的特供语言
:

g****t
发帖数: 31659
75
(A)
call by name
Call by value两分
(B)
指针,然后一致的call by value
A,B两个设计思路。各刷半小时题。总共一小时就解决了。
关键是认准知识点。不要和别的搅合在一起。


: Go里还是有指针的概念,java python程序员会比较难受。对于cpp程序员
来说又
精简掉

: 了template等复杂的东西。所以说从c过来是最舒服的。



【在 f*******t 的大作中提到】
: Go里还是有指针的概念,java python程序员会比较难受。对于cpp程序员来说又精简掉
: 了template等复杂的东西。所以说从c过来是最舒服的。

m*****p
发帖数: 39
76
zhihu這個回答你仔細看過了嗎?裡面最重要的一個限制條件就是單核心單線程,所以
go比java強跟cpp差不多結果不可信。如果不限CPU核心數量,cpp會完爆狗浪


: 性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/
question/

: 59481694

: 亮点是编译快,节省内存。



【在 w********m 的大作中提到】
: 性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/question/
: 59481694
: 亮点是编译快,节省内存。

y**********u
发帖数: 2839
77
好性奋呢?晚上撸起裤子就是干,学一下

【在 g****t 的大作中提到】
: Golang一共25个关键字。对python,c,c plus,...
: 几乎任何语言的马工都是无缝升级----只要你不用第三方库。
: 我半小时就开始写代码了。
: C比golang难写多了。
:
:
: 据说Go对于写C的老帮菜们是无缝升级的特供语言
:

s********k
发帖数: 6180
78
Golang比较目标不是CPP啊,是python一样容易程度和开发进度,大于Java的性能,然
后比java,python都好的memory efficient,和编译部署环境,

【在 m*****p 的大作中提到】
: zhihu這個回答你仔細看過了嗎?裡面最重要的一個限制條件就是單核心單線程,所以
: go比java強跟cpp差不多結果不可信。如果不限CPU核心數量,cpp會完爆狗浪
:
:
: 性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/
: question/
:
: 59481694
:
: 亮点是编译快,节省内存。
:

m*****n
发帖数: 3575
79
Go
比我速度高的没我轻松
比我轻松的没我速度高
w********m
发帖数: 1137
80
这道题是leetcode上面find subString的高配版。
Hard disk IO bound。
多核并发上面,Java能有啥黑魔法beat go。

【在 m*****p 的大作中提到】
: zhihu這個回答你仔細看過了嗎?裡面最重要的一個限制條件就是單核心單線程,所以
: go比java強跟cpp差不多結果不可信。如果不限CPU核心數量,cpp會完爆狗浪
:
:
: 性能可以了,碾压java。看看阿里小哥的高票答案 https://www.zhihu.com/
: question/
:
: 59481694
:
: 亮点是编译快,节省内存。
:

相关主题
震惊:java 的矩阵操作比 c++ 快?取代C++!Google 开发自己的编程语言Golang了 (转载)
看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的专业c++程序员都用什么ide (转载)
为什么好多ID 见到 c++就好象 不共戴天呢?which is faster and why ? (答对有包子)
进入Programming版参与讨论
n******t
发帖数: 4406
81
既然我們都再聊技術,有誰告訴我why blockchain要用 go嗎?
此外用go的好處是?

【在 g****t 的大作中提到】
: 现在区块链好多项目确实是golang写的。
:
:
: 暈,什麼叫做區塊鏈語言?
:
: 你忽悠誰呢?
:

b*******s
发帖数: 5216
82
展开说说,为什么选golang做数值计算

golang。

【在 g****t 的大作中提到】
: 我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。
: 1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
: 2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是golang。
: 我不用第三方库的理由是很明显的,你想想就明白了.
: 我不可能在指甲盖小的芯片里装pandas
:
: google

n******t
发帖数: 4406
83
如果一個語言打算serious,why GC?

【在 g****t 的大作中提到】
: Golang一共25个关键字。对python,c,c plus,...
: 几乎任何语言的马工都是无缝升级----只要你不用第三方库。
: 我半小时就开始写代码了。
: C比golang难写多了。
:
:
: 据说Go对于写C的老帮菜们是无缝升级的特供语言
:

d*****i
发帖数: 44
84
代码好读懂.对科班出身的可能看template, reflection, annotation代码像呼吸一样
自然,但是对我等广大的门外汉,要抄别人的代码感觉go最清晰.仔细读完effective go,
就可以开工了. 大不了工作中多翻翻language specification, memory model,都不长
.要看c++和java的类似文档会吐血的.

【在 n******t 的大作中提到】
: 既然我們都再聊技術,有誰告訴我why blockchain要用 go嗎?
: 此外用go的好處是?

m*****p
发帖数: 39
85
對於嚴肅的後台大項目:
1. dependency可以用container解決
2. java/cpp有jenkins+cmake+apt+dpkg不比go get差
3. github上面的項目都是upstream,需要os廠商或中間商根據CVE改造,直接git
clone有很大安全風險
4. cpp/java也可以有coroutine或者actor模式,不是golang獨有
5. golang沒有一個除了google的大公司背書,比javascript都差

github

【在 f*******t 的大作中提到】
: 不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
: 了,意见统一写在这里。
: * 写一个http web service,几十行代码没有额外dependency,编译成一个binary放到
: 所有环境中都能运行。C++行吗?
: * 加第三方库一般go get一下就解决了。C++/java行吗?就我个人经验而谈,从github
: 下载的C++开源项目,几乎没一个能按照README里的步骤顺利编译的。
: * 随便创建几百个goroutine,之间用channel通信,基本不用考虑性能问题,开发效率
: 极高。C++行吗?你在测试中发现的不容易解决的性能问题,都是极端条件下才会发生
: 的现象,绝大多数时候并不需要担心这点。
: * Go才出现几年,没标准委员会很正常。大公司不敢用的说法完全没有逻辑。大公司有

m*****p
发帖数: 39
86
這個測試也印證了我的結論:golang性能上僅僅跟java相同,比csharp差好多,根本無
法跟cpp比較。
cpp一般是csharp的2~3倍,在這裡csharp是golang的3倍,綜合,cpp比golang快一個
數量級。

python-

【在 n*w 的大作中提到】
: https://read.acloud.guru/comparing-aws-lambda-performance-of-node-js-python-
: java-c-and-go-29c1163c2581

m*****p
发帖数: 39
87
cpp有很多魔法可以提高性能,golang基本不行,java和golang一個檔次。
我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面
cpp僅僅比golang快一點的結論。
If local disk: unbuffered IO, SPDK, memory-mapped file
If remote disk: RDMA, DPDK
If using accelerator: TCAM, hardware regex engine, FPGA memory comparison
If not using accelerator: x86 SSE STTNI and AVX
cpp能把golang打出屎來

【在 w********m 的大作中提到】
: 这道题是leetcode上面find subString的高配版。
: Hard disk IO bound。
: 多核并发上面,Java能有啥黑魔法beat go。

h**c
发帖数: 1979
88
为什么go不支持呢?难点在哪?

【在 m*****p 的大作中提到】
: cpp有很多魔法可以提高性能,golang基本不行,java和golang一個檔次。
: 我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面
: cpp僅僅比golang快一點的結論。
: If local disk: unbuffered IO, SPDK, memory-mapped file
: If remote disk: RDMA, DPDK
: If using accelerator: TCAM, hardware regex engine, FPGA memory comparison
: If not using accelerator: x86 SSE STTNI and AVX
: cpp能把golang打出屎來

m*****p
发帖数: 39
89
所以結論還是我前面提出的:
科班嚴肅大項目還是會用java、cpp、csharp,只有自己單幹的門外漢才首選golang。
golang能幹的java、cpp、csharp都能幹,golang只不過是在這三個裡面取捨折中一下
:平庸的性能,平庸的功能,平庸的第三方支持。
單個方向上都不是第一選擇:比甜比不過csharp,比快比不過cpp,比廣比不過java,
golang目前還不是一流語言。

go,

【在 d*****i 的大作中提到】
: 代码好读懂.对科班出身的可能看template, reflection, annotation代码像呼吸一样
: 自然,但是对我等广大的门外汉,要抄别人的代码感觉go最清晰.仔细读完effective go,
: 就可以开工了. 大不了工作中多翻翻language specification, memory model,都不长
: .要看c++和java的类似文档会吐血的.

m*****p
发帖数: 39
90
需要CPU和廣大硬件廠商開發第三方庫。
譬如Intel的ICC、TBB和Nvidia的CUDA,並且可以兼容C語言,直接操作底層設備。
我最反感golang的一點是其在性能上吹牛,跟java差不多就說跟java一樣唄,非得說跟
cpp差不過,結論是差好遠好嘛

【在 h**c 的大作中提到】
: 为什么go不支持呢?难点在哪?
相关主题
问一个volatile和memcpy一起用的问题转贴:[圣战] python 是个讨厌的语言
牛人们来看看这个Dao语言怎么样javascript是要统一江湖的
C++11 support is now feature-complete in clang.Dao语言2.0第一个测试版发布了!
进入Programming版参与讨论
h**c
发帖数: 1979
91
Go的项目里各种文件就直接放在最顶层文件夹里。Java这种语言,一行代码还没写就几
十层文件夹了。而且go不需要任何makefile,it just works,也不需要任何恶心的
markup language或者json配置文件。总之go的文件结构特别干净,适合程序员的审美。
h**c
发帖数: 1979
92
Go在语言特性上也特别节制,没有各种恶心的oop特性,不容易写出anti-pattern。
m*****p
发帖数: 39
93
你提到的這個文件夾平鋪審美我很不適應,什麼雜七雜八的asm, defs, os, signal,
sys都混入了,真正runtime文件也就幾個,放到arch文件夾裡不行麼?要是像gcc那樣
支持幾十種處理器,豈不是有幾百個文件?
HACKING.md os_linux_noauxv.go
Makefile os_linux_ppc64x.go
alg.go os_linux_s390x.go
append_test.go os_nacl.go
asm.s os_nacl_arm.go
asm_386.s os_netbsd.go
asm_amd64.s os_netbsd_386.go
asm_amd64p32.s os_netbsd_amd64.go
asm_arm.s os_netbsd_arm.go
asm_arm64.s os_openbsd.go
asm_mips64x.s os_openbsd_arm.go
asm_mipsx.s os_plan9.go
asm_ppc64x.h os_plan9_arm.go
asm_ppc64x.s os_solaris.go
asm_s390x.s os_windows.go
atomic_arm64.s panic.go
atomic_mips64x.s plugin.go
atomic_mipsx.s pprof
atomic_pointer.go print.go
atomic_ppc64x.s proc.go
callers_test.go proc_runtime_test.go
cgo proc_test.go
cgo.go profbuf.go
cgo_mmap.go profbuf_test.go
cgo_ppc64x.go proflabel.go
cgo_sigaction.go race
cgocall.go race.go
cgocallback.go race0.go
cgocheck.go race_amd64.s
chan.go rand_test.go
chan_test.go rdebug.go
chanbarrier_test.go relax_stub.go
closure_test.go rt0_android_386.s
compiler.go rt0_android_amd64.s
complex.go rt0_android_arm.s
complex_test.go rt0_android_arm64.s
cpuflags_amd64.go rt0_darwin_386.s
cpuprof.go rt0_darwin_amd64.s
cputicks.go rt0_darwin_arm.s
crash_cgo_test.go rt0_darwin_arm64.s
crash_nonunix_test.go rt0_dragonfly_amd64.s
crash_test.go rt0_freebsd_386.s
crash_unix_test.go rt0_freebsd_amd64.s
debug rt0_freebsd_arm.s
debug.go rt0_linux_386.s
defs1_linux.go rt0_linux_amd64.s
defs1_netbsd_386.go rt0_linux_arm.s
defs1_netbsd_amd64.go rt0_linux_arm64.s
defs1_netbsd_arm.go rt0_linux_mips64x.s
defs1_solaris_amd64.go rt0_linux_mipsx.s
defs2_linux.go rt0_linux_ppc64.s
defs3_linux.go rt0_linux_ppc64le.s
defs_arm_linux.go rt0_linux_s390x.s
defs_darwin.go rt0_nacl_386.s
defs_darwin_386.go rt0_nacl_amd64p32.s
defs_darwin_amd64.go rt0_nacl_arm.s
defs_darwin_arm.go rt0_netbsd_386.s
defs_darwin_arm64.go rt0_netbsd_amd64.s
defs_dragonfly.go rt0_netbsd_arm.s
defs_dragonfly_amd64.go rt0_openbsd_386.s
defs_freebsd.go rt0_openbsd_amd64.s
defs_freebsd_386.go rt0_openbsd_arm.s
defs_freebsd_amd64.go rt0_plan9_386.s
defs_freebsd_arm.go rt0_plan9_amd64.s
defs_linux.go rt0_plan9_arm.s
defs_linux_386.go rt0_solaris_amd64.s
defs_linux_amd64.go rt0_windows_386.s
defs_linux_arm.go rt0_windows_amd64.s
defs_linux_arm64.go runtime-gdb.py
defs_linux_mips64x.go runtime-gdb_test.go
defs_linux_mipsx.go runtime-lldb_test.go
defs_linux_ppc64.go runtime.go
defs_linux_ppc64le.go runtime1.go
defs_linux_s390x.go runtime2.go
defs_nacl_386.go runtime_linux_test.go
defs_nacl_amd64p32.go runtime_mmap_test.go
defs_nacl_arm.go runtime_test.go
defs_netbsd.go runtime_unix_test.go
defs_netbsd_386.go rwmutex.go
defs_netbsd_amd64.go rwmutex_test.go
defs_netbsd_arm.go select.go
defs_openbsd.go sema.go
defs_openbsd_386.go sigaction_linux.go
defs_openbsd_amd64.go signal_386.go
defs_openbsd_arm.go signal_amd64x.go
defs_plan9_386.go signal_arm.go
defs_plan9_amd64.go signal_arm64.go
defs_plan9_arm.go signal_darwin.go
defs_solaris.go signal_darwin_386.go
defs_solaris_amd64.go signal_darwin_amd64.go
defs_windows.go signal_darwin_arm.go
defs_windows_386.go signal_darwin_arm64.go
defs_windows_amd64.go signal_dragonfly.go
duff_386.s signal_dragonfly_amd64.go
duff_amd64.s signal_freebsd.go
duff_arm.s signal_freebsd_386.go
duff_arm64.s signal_freebsd_amd64.go
duff_mips64x.s signal_freebsd_arm.go
duff_ppc64x.s signal_linux_386.go
env_plan9.go signal_linux_amd64.go
env_posix.go signal_linux_arm.go
env_test.go signal_linux_arm64.go
error.go signal_linux_mips64x.go
example_test.go signal_linux_mipsx.go
export_arm_test.go signal_linux_ppc64x.go
export_futex_test.go signal_linux_s390x.go
export_linux_test.go signal_mips64x.go
export_mmap_test.go signal_mipsx.go
export_test.go signal_nacl.go
export_unix_test.go signal_nacl_386.go
export_windows_test.go signal_nacl_amd64p32.go
extern.go signal_nacl_arm.go
fastlog2.go signal_netbsd.go
fastlog2_test.go signal_netbsd_386.go
fastlog2table.go signal_netbsd_amd64.go
float.go signal_netbsd_arm.go
funcdata.h signal_openbsd.go
futex_test.go signal_openbsd_386.go
gc_test.go signal_openbsd_amd64.go
gcinfo_test.go signal_openbsd_arm.go
go_tls.h signal_plan9.go
hash32.go signal_ppc64x.go
hash64.go signal_sighandler.go
hash_test.go signal_solaris.go
hashmap.go signal_solaris_amd64.go
hashmap_fast.go signal_unix.go
heapdump.go signal_windows.go
iface.go sigqueue.go
iface_test.go sigqueue_plan9.go
internal sigtab_linux_generic.go
lfstack.go sigtab_linux_mipsx.go
lfstack_32bit.go sizeclasses.go
lfstack_64bit.go slice.go
lfstack_test.go softfloat64.go
lock_futex.go softfloat64_test.go
lock_sema.go softfloat_arm.go
malloc.go sqrt.go
malloc_test.go sqrt_test.go
map_test.go stack.go
mapspeed_test.go stack_test.go
mbarrier.go string.go
mbitmap.go string_test.go
mcache.go stubs.go
mcentral.go stubs2.go
mem_bsd.go stubs32.go
mem_darwin.go stubs_android.go
mem_linux.go stubs_asm.go
mem_plan9.go stubs_linux.go
mem_windows.go stubs_nonlinux.go
memclr_386.s symtab.go
memclr_amd64.s symtab_test.go
memclr_amd64p32.s sys_arm.go
memclr_arm.s sys_arm64.go
memclr_arm64.s sys_darwin_386.s
memclr_mips64x.s sys_darwin_amd64.s
memclr_mipsx.s sys_darwin_arm.s
memclr_plan9_386.s sys_darwin_arm64.s
memclr_plan9_amd64.s sys_dragonfly_amd64.s
memclr_ppc64x.s sys_freebsd_386.s
memclr_s390x.s sys_freebsd_amd64.s
memmove_386.s sys_freebsd_arm.s
memmove_amd64.s sys_linux_386.s
memmove_amd64p32.s sys_linux_amd64.s
memmove_arm.s sys_linux_arm.s
memmove_arm64.s sys_linux_arm64.s
memmove_linux_amd64_test.go sys_linux_mips64x.s
memmove_mips64x.s sys_linux_mipsx.s
memmove_mipsx.s sys_linux_ppc64x.s
memmove_plan9_386.s sys_linux_s390x.s
memmove_plan9_amd64.s sys_mips64x.go
memmove_ppc64x.s sys_mipsx.go
memmove_s390x.s sys_nacl_386.s
memmove_test.go sys_nacl_amd64p32.s
mfinal.go sys_nacl_arm.s
mfinal_test.go sys_netbsd_386.s
mfixalloc.go sys_netbsd_amd64.s
mgc.go sys_netbsd_arm.s
mgclarge.go sys_nonppc64x.go
mgcmark.go sys_openbsd_386.s
mgcsweep.go sys_openbsd_amd64.s
mgcsweepbuf.go sys_openbsd_arm.s
mgcwork.go sys_plan9_386.s
mheap.go sys_plan9_amd64.s
mkduff.go sys_plan9_arm.s
mkfastlog2table.go sys_ppc64x.go
mknacl.sh sys_s390x.go
mksizeclasses.go sys_solaris_amd64.s
mmap.go sys_windows_386.s
mprof.go sys_windows_amd64.s
msan sys_x86.go
msan.go syscall2_solaris.go
msan0.go syscall_nacl.h
msan_amd64.s syscall_solaris.go
msize.go syscall_windows.go
mstats.go syscall_windows_test.go
mwbbuf.go testdata
net_plan9.go textflag.h
netpoll.go time.go
netpoll_epoll.go timeasm.go
netpoll_kqueue.go timestub.go
netpoll_nacl.go tls_arm.s
netpoll_solaris.go tls_arm64.h
netpoll_stub.go tls_arm64.s
netpoll_windows.go tls_mips64x.s
noasm.go tls_mipsx.s
norace_linux_test.go tls_ppc64x.s
norace_test.go tls_s390x.s
numcpu_freebsd_test.go trace
os2_freebsd.go trace.go
os2_nacl.go traceback.go
os2_openbsd.go type.go
os2_plan9.go typekind.go
os2_solaris.go unaligned1.go
os3_plan9.go unaligned2.go
os3_solaris.go utf8.go
os_android.go vdso_linux.go
os_darwin.go vdso_linux_386.go
os_darwin_arm.go vdso_linux_amd64.go
os_darwin_arm64.go vdso_linux_test.go
os_dragonfly.go vdso_none.go
os_freebsd.go vlop_386.s
os_freebsd_arm.go vlop_arm.s
os_linux.go vlop_arm_test.go
os_linux_arm.go vlrt.go
os_linux_arm64.go wincallback.go
os_linux_be64.go write_err.go
os_linux_generic.go write_err_android.go
os_linux_mips64x.go zcallback_windows.go
os_linux_mipsx.go zcallback_windows.s

美。

【在 h**c 的大作中提到】
: Go的项目里各种文件就直接放在最顶层文件夹里。Java这种语言,一行代码还没写就几
: 十层文件夹了。而且go不需要任何makefile,it just works,也不需要任何恶心的
: markup language或者json配置文件。总之go的文件结构特别干净,适合程序员的审美。

m*****p
发帖数: 39
94
反正我是感覺golang runtime寫得不如openjdk hotspot經典,比linux kernel更差得
遠。
g****t
发帖数: 31659
95
我想问一句。你做过的软件项目最多多少用户?严肃的大项目不是凭空想象可以得到的。
Golang本身在goog内部就有很多应用了。而且什么时候有谁拿golang和c比性能了吗


: 對於嚴肅的後台大項目:

: 1. dependency可以用container解決

: 2. java/cpp有jenkins cmake apt dpkg不比go get差

: 3. github上面的項目都是upstream,需要os廠商或中間商根據CVE改造,
直接
git

: clone有很大安全風險

: 4. cpp/java也可以有coroutine或者actor模式,不是golang獨有

: 5. golang沒有一個除了google的大公司背書,比javascript都差

: github



【在 m*****p 的大作中提到】
: 反正我是感覺golang runtime寫得不如openjdk hotspot經典,比linux kernel更差得
: 遠。

s********k
发帖数: 6180
96
我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长,同样
的项目想基于原来的CPP库改造,都没人敢碰,所以在实际公司中的项目中,考虑的因
素太多了

【在 m*****p 的大作中提到】
: 所以結論還是我前面提出的:
: 科班嚴肅大項目還是會用java、cpp、csharp,只有自己單幹的門外漢才首選golang。
: golang能幹的java、cpp、csharp都能幹,golang只不過是在這三個裡面取捨折中一下
: :平庸的性能,平庸的功能,平庸的第三方支持。
: 單個方向上都不是第一選擇:比甜比不過csharp,比快比不過cpp,比廣比不過java,
: golang目前還不是一流語言。
:
: go,

g****t
发帖数: 31659
97
如果简化一下问题,不考虑第三方库。
用表达能力好做X轴正向,速度快为Y正向
那么XY平面上每个远离原点的语言
随着市场需求的变化
可能都会有个巅峰时段
前提是工程质量要高
不能太不可预测
最好不出现把人憋死的坑


: 我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长
,同样

: 的项目想基于原来的CPP库改造,都没人敢碰,所以在实际公司中的项目中,考
虑的因

: 素太多了



【在 s********k 的大作中提到】
: 我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长,同样
: 的项目想基于原来的CPP库改造,都没人敢碰,所以在实际公司中的项目中,考虑的因
: 素太多了

b*******s
发帖数: 5216
98
most of c++ vs java benchmarks were written by java developers

【在 m*****p 的大作中提到】
: cpp有很多魔法可以提高性能,golang基本不行,java和golang一個檔次。
: 我的意思是多路多核服務器,cpp可以比java和golang快很多,根本不是這篇知乎裡面
: cpp僅僅比golang快一點的結論。
: If local disk: unbuffered IO, SPDK, memory-mapped file
: If remote disk: RDMA, DPDK
: If using accelerator: TCAM, hardware regex engine, FPGA memory comparison
: If not using accelerator: x86 SSE STTNI and AVX
: cpp能把golang打出屎來

m*****p
发帖数: 39
99
國際一流公司的媒體控制網關,大客戶是ATT和Verizon等一級郀I商,這個夠嚴肅吧?
都是C或Cpp,買第三方的庫,絕對不用開源github,害怕有GPL3。

的。

【在 g****t 的大作中提到】
: 我想问一句。你做过的软件项目最多多少用户?严肃的大项目不是凭空想象可以得到的。
: Golang本身在goog内部就有很多应用了。而且什么时候有谁拿golang和c比性能了吗
:
:
: 對於嚴肅的後台大項目:
:
: 1. dependency可以用container解決
:
: 2. java/cpp有jenkins cmake apt dpkg不比go get差
:
: 3. github上面的項目都是upstream,需要os廠商或中間商根據CVE改造,
: 直接
: git
:
: clone有很大安全風險

m*****p
发帖数: 39
100
golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我講的“嚴肅”項目。
公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不是每個公司都
要golang才能解決問題。
沒人敢碰說明你們公司或項目缺骨幹。

【在 s********k 的大作中提到】
: 我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长,同样
: 的项目想基于原来的CPP库改造,都没人敢碰,所以在实际公司中的项目中,考虑的因
: 素太多了

相关主题
golang為什麼語法和關鍵詞這麼冷門?Golang 从13年到现在goog trends翻了快十倍
c++ programmer们就不用悲愤了程序語言有兩種。
微软的架构设计师真是大学生水平啊Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ
进入Programming版参与讨论
m*****p
发帖数: 39
101
我昨天突然想到可以用一個國家來形容golang:澳大利亞
袋鼠國是怎樣一個奇葩的國家,不是G7卻令人嚮往,就跟golang一樣,10歲了也不是程
序語言前五名,相比之下,10歲的java已經快要奪冠了。袋鼠國也是,立國幾十年,人
均收入爆高,卻不是G7成員。
想移民澳大利亞(golang)的人請注意:
袋鼠國科技不如美帝(cpp)、人氣不如中帝(java)、文化不如西歐英國(csharp)
,完全不是第一梯隊國家(語言)。袋鼠國只適合本身技能低無法移民美帝、又被西歐
(MS)拒之門外、還不想跟土共(java)為伍的轉行人士開發“短平快、糙快猛”的新
項目。
我從來沒說golang絕對不好,我是說golang跟主流語言相比“不夠好”,就像澳大利亞
現在的尷尬定位一樣。
為什麼不能用第三方庫?美帝、英帝、中帝都有自己的一幫簇擁,澳大利亞有什麼?人
均GDP麼(日均代碼量)麼?
對於不是科班出身的普通移民,澳大利亞確實有一些吸引力,但前提是想好自己未來要
放棄:技術(美帝)、錢途(中帝)、文化逼格(西歐)
golang從來就不是silver bullet

【在 g****t 的大作中提到】
: 如果简化一下问题,不考虑第三方库。
: 用表达能力好做X轴正向,速度快为Y正向
: 那么XY平面上每个远离原点的语言
: 随着市场需求的变化
: 可能都会有个巅峰时段
: 前提是工程质量要高
: 不能太不可预测
: 最好不出现把人憋死的坑
:
:
: 我们现在内部正在上一个golang的项目,service3个月就上线而且还在继续增长

w********m
发帖数: 1137
102
在大公司退休靠不住。
不管能力多强,年纪大了被扫地出门的多了。
被赶走前带走点东西糊口,go比你说的那些语言强。
不慢,关键是内存用的少。现在云上的内存一直在涨价。
打个比方,那个阿里小哥做的hackathon,敏感词替换,就是习总登基以后做点东西的
好项目。
大家都不傻。

【在 m*****p 的大作中提到】
: golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我講的“嚴肅”項目。
: 公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不是每個公司都
: 要golang才能解決問題。
: 沒人敢碰說明你們公司或項目缺骨幹。

g****t
发帖数: 31659
103
你可能需要清醒下脑子。用ssh上站。shift-f 什么的查一下本版13年到今日的Golang
帖子。把基本事实弄对。
第一个要点,golang对标的是java,python
不是cpp。rust 对标的是cpp
你批评的东西完全牛头不对马嘴。Rob Pik什么的怎么可能去和C系列比性能?
第二个要点,golang在外面发展起来之前。google内部已经有很多项目在跑了。你查查
就知道了
。Ken Thompson 这些人你觉得不是科班出身的?不是严肃项目?
你讲的话偏离常识太远了。


: golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我
講的“嚴肅”項目。

: 公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不
是每個
公司都

: 要golang才能解決問題。

: 沒人敢碰說明你們公司或項目缺骨幹。



【在 m*****p 的大作中提到】
: 我昨天突然想到可以用一個國家來形容golang:澳大利亞
: 袋鼠國是怎樣一個奇葩的國家,不是G7卻令人嚮往,就跟golang一樣,10歲了也不是程
: 序語言前五名,相比之下,10歲的java已經快要奪冠了。袋鼠國也是,立國幾十年,人
: 均收入爆高,卻不是G7成員。
: 想移民澳大利亞(golang)的人請注意:
: 袋鼠國科技不如美帝(cpp)、人氣不如中帝(java)、文化不如西歐英國(csharp)
: ,完全不是第一梯隊國家(語言)。袋鼠國只適合本身技能低無法移民美帝、又被西歐
: (MS)拒之門外、還不想跟土共(java)為伍的轉行人士開發“短平快、糙快猛”的新
: 項目。
: 我從來沒說golang絕對不好,我是說golang跟主流語言相比“不夠好”,就像澳大利亞

m*****p
发帖数: 39
104
敏感詞過濾都是用硬件加速的,純軟件根本不行,更別提golang了


: 在大公司退休靠不住。

: 不管能力多强,年纪大了被扫地出门的多了。

: 被赶走前带走点东西糊口,go比你说的那些语言强。

: 不慢,关键是内存用的少。现在云上的内存一直在涨价。

: 打个比方,那个阿里小哥做的hackathon,敏感词替换,就是习总登基以后做点
东西的

: 好项目。

: 大家都不傻。



【在 w********m 的大作中提到】
: 在大公司退休靠不住。
: 不管能力多强,年纪大了被扫地出门的多了。
: 被赶走前带走点东西糊口,go比你说的那些语言强。
: 不慢,关键是内存用的少。现在云上的内存一直在涨价。
: 打个比方,那个阿里小哥做的hackathon,敏感词替换,就是习总登基以后做点东西的
: 好项目。
: 大家都不傻。

m*****p
发帖数: 39
105
你的觀點不就正好證明了我的結論麼,你再看看我的標題。
第一,性能:
golang根本沒法跟cpp比性能,差一個數量級,golang僅僅是跟java相似,比python快
而已。
Cpp可以說跟assembly差不多,因為性能只有XX%的差異,不會超過一倍。
但是golang跟cpp根本不是某些人宣傳的那樣,接近cpp,其實是接近java。
golang也不可能取代對性能有要求的cpp領域,所以golang差不多10年了普及率也不高。
第二,社區:
不是因為有幾個人、幾個公司的語言就是一流語言,臉家還有項目用php、hhvm,你認
為php是一流語言麼?
golang相比java、cpp,除了狗家,還有誰大規模用?開源項目除了docker、k8s、juju
還有幾個?普及率能跟java、cpp比麼?
第三,嚴肅項目的根據地:
搞android必須搞java,搞deep learning和HPC必須搞cpp,搞windows必須搞csharp
你說說哪個行業、哪個項目必須用golang,沒有golang玩不了的?
感覺golang在這方面還不如javascript的用戶群牢固。

Golang

【在 g****t 的大作中提到】
: 你可能需要清醒下脑子。用ssh上站。shift-f 什么的查一下本版13年到今日的Golang
: 帖子。把基本事实弄对。
: 第一个要点,golang对标的是java,python
: 不是cpp。rust 对标的是cpp
: 你批评的东西完全牛头不对马嘴。Rob Pik什么的怎么可能去和C系列比性能?
: 第二个要点,golang在外面发展起来之前。google内部已经有很多项目在跑了。你查查
: 就知道了
: 。Ken Thompson 这些人你觉得不是科班出身的?不是严肃项目?
: 你讲的话偏离常识太远了。
:

m*****p
发帖数: 39
106
結論:
golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。
什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統治地位
不如javascript。
替代性非常強,什麼大家拿、信息藍都可以拿來跟袋鼠國比較。
s***o
发帖数: 2191
107
golang也不在我的武器库里,主要是因为:
1. 表达能力太差
2. 长得忒丑

【在 m*****p 的大作中提到】
: 結論:
: golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。
: 什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統治地位
: 不如javascript。
: 替代性非常強,什麼大家拿、信息藍都可以拿來跟袋鼠國比較。

g****t
发帖数: 31659
108
你讲的事实部分和你的结论完全没有关系。
比较的什么加拿大澳大利亚更是一比糊涂账。
多少年来除了你,没人拿golang和c plus比性能。
人的第一卖点是M:N scheduler
第二卖点不是语言,是易用性。


: 結論:

: golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。

: 什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統
治地位

: 不如javascript。

: 替代性非常強,什麼大家拿、信息藍都可以拿來跟袋鼠國比較。



【在 m*****p 的大作中提到】
: 結論:
: golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。
: 什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統治地位
: 不如javascript。
: 替代性非常強,什麼大家拿、信息藍都可以拿來跟袋鼠國比較。

h**l
发帖数: 168
109
搞deep learning一定要用cpp吗?难道不是python? 我是纯外行,随便瞎问问。:)

高。

【在 m*****p 的大作中提到】
: 你的觀點不就正好證明了我的結論麼,你再看看我的標題。
: 第一,性能:
: golang根本沒法跟cpp比性能,差一個數量級,golang僅僅是跟java相似,比python快
: 而已。
: Cpp可以說跟assembly差不多,因為性能只有XX%的差異,不會超過一倍。
: 但是golang跟cpp根本不是某些人宣傳的那樣,接近cpp,其實是接近java。
: golang也不可能取代對性能有要求的cpp領域,所以golang差不多10年了普及率也不高。
: 第二,社區:
: 不是因為有幾個人、幾個公司的語言就是一流語言,臉家還有項目用php、hhvm,你認
: 為php是一流語言麼?

m*****p
发帖数: 39
110
你是不是根本看不懂我最開始提到的goroutine sched問題?目前runtime 2根本不支持
NUMA,在G和M之間引入P完全是勉強提高性能的臨時解決方案,go關鍵字隱含多線程不
可控,性能低下在支持NUMA的新sched前完全無解。新sched概念早在2014年就提出了,
目前根本沒有實現,說明golang內部嚴重缺人,也是無解。go是二流語言沒跑。
DL/ML的核心庫都是cpp,py只不過是調用一下而已。


: 你讲的事实部分和你的结论完全没有关系。

: 比较的什么加拿大澳大利亚更是一比糊涂账。

: 多少年来除了你,没人拿golang和c plus比性能。

: 人的第一卖点是M:N scheduler

: 第二卖点不是语言,是易用性。

: 治地位



【在 g****t 的大作中提到】
: 你讲的事实部分和你的结论完全没有关系。
: 比较的什么加拿大澳大利亚更是一比糊涂账。
: 多少年来除了你,没人拿golang和c plus比性能。
: 人的第一卖点是M:N scheduler
: 第二卖点不是语言,是易用性。
:
:
: 結論:
:
: golang的地位就是澳大利亞那樣的二流OECD國家在聯合國裡面的地位。
:
: 什麼都能做但是什麼都不拔尖。性能不如cpp、社區不如java、在某些領域的統
: 治地位

相关主题
Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
[合集] 老是关心语言快慢的人看过来为什么好多ID 见到 c++就好象 不共戴天呢?
震惊:java 的矩阵操作比 c++ 快?取代C++!Google 开发自己的编程语言Golang了 (转载)
进入Programming版参与讨论
c*******v
发帖数: 2599
111
golang当然不是tie 1语言,这还用得着你攻击加拿大才能说明白吗?
scheduler性能有疑问是个人都知道。但是也有容易用,内存少的优点。
其实就typed unix pipeline类似的东西。
dl有c (not cpp),lua.
ml更复杂。

【在 m*****p 的大作中提到】
: 你是不是根本看不懂我最開始提到的goroutine sched問題?目前runtime 2根本不支持
: NUMA,在G和M之間引入P完全是勉強提高性能的臨時解決方案,go關鍵字隱含多線程不
: 可控,性能低下在支持NUMA的新sched前完全無解。新sched概念早在2014年就提出了,
: 目前根本沒有實現,說明golang內部嚴重缺人,也是無解。go是二流語言沒跑。
: DL/ML的核心庫都是cpp,py只不過是調用一下而已。
:
:
: 你讲的事实部分和你的结论完全没有关系。
:
: 比较的什么加拿大澳大利亚更是一比糊涂账。
:
: 多少年来除了你,没人拿golang和c plus比性能。
:
: 人的第一卖点是M:N scheduler

s********k
发帖数: 6180
112
任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是维护老
旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来CPP的核
心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因为CPP带
来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤其对于
cloud部署来说,CPP的性能提升更不明显

【在 m*****p 的大作中提到】
: golang適合搞“前景不明朗”的小團隊實驗工程,這不屬於我講的“嚴肅”項目。
: 公司也分:一流大公司、一般大公司、二流公司、小公司、創業公司,不是每個公司都
: 要golang才能解決問題。
: 沒人敢碰說明你們公司或項目缺骨幹。

h**l
发帖数: 168
113
py只是调用一下啊?听上去没有什么技术含量。:)
那用py做AI的难点是哪里?或者说什么地方需要动脑筋比较花时间?Domain Knowledge
? 调模型参数?

【在 m*****p 的大作中提到】
: 你是不是根本看不懂我最開始提到的goroutine sched問題?目前runtime 2根本不支持
: NUMA,在G和M之間引入P完全是勉強提高性能的臨時解決方案,go關鍵字隱含多線程不
: 可控,性能低下在支持NUMA的新sched前完全無解。新sched概念早在2014年就提出了,
: 目前根本沒有實現,說明golang內部嚴重缺人,也是無解。go是二流語言沒跑。
: DL/ML的核心庫都是cpp,py只不過是調用一下而已。
:
:
: 你讲的事实部分和你的结论完全没有关系。
:
: 比较的什么加拿大澳大利亚更是一比糊涂账。
:
: 多少年来除了你,没人拿golang和c plus比性能。
:
: 人的第一卖点是M:N scheduler

h**l
发帖数: 168
114
和我现在的部门情况有点像,也是老系统用CPP做,新系统用其他语言。不过我们这里
主要是管理层在推新系统,核心CPP的人要么不愿去做新系统,要么就离开公司了。老
板们肯定是不喜欢CPP的,生产力太低,受技术大牛影响太大,开发成本太高,几乎没
办法找到大量合格的C++程序员。要是一个公司随便就能找到几十个或者上百个大牛C++
程序员,干活努力,工资10万封顶,那肯定所有公司都用C++了啊。:)

【在 s********k 的大作中提到】
: 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是维护老
: 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
: 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来CPP的核
: 心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因为CPP带
: 来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤其对于
: cloud部署来说,CPP的性能提升更不明显

x****u
发帖数: 44466
115
C++的问题不是程序员工资高,而是不合格程序员比例大。
C++几乎没法开发大项目,要不就是一个牛人单打独斗,要不就是一个特别强势的人定
一个极严格的规范把大部分特性禁用属下只搬砖,否则写出来的代码就是灾难。

++
护老
的核
CPP带
对于

【在 h**l 的大作中提到】
: 和我现在的部门情况有点像,也是老系统用CPP做,新系统用其他语言。不过我们这里
: 主要是管理层在推新系统,核心CPP的人要么不愿去做新系统,要么就离开公司了。老
: 板们肯定是不喜欢CPP的,生产力太低,受技术大牛影响太大,开发成本太高,几乎没
: 办法找到大量合格的C++程序员。要是一个公司随便就能找到几十个或者上百个大牛C++
: 程序员,干活努力,工资10万封顶,那肯定所有公司都用C++了啊。:)

h**l
发帖数: 168
116
是的,但这两者其实也是相关联的,如果公司愿意出足够多的钱,还是能招到合格C++
程序员的。关键现在也没新人学了,年轻人连JAVA都不学了,谁还学C++?

【在 x****u 的大作中提到】
: C++的问题不是程序员工资高,而是不合格程序员比例大。
: C++几乎没法开发大项目,要不就是一个牛人单打独斗,要不就是一个特别强势的人定
: 一个极严格的规范把大部分特性禁用属下只搬砖,否则写出来的代码就是灾难。
:
: ++
: 护老
: 的核
: CPP带
: 对于

x****u
发帖数: 44466
117
难题就在这里
花钱可以招到足够的C++程序员,但是无法去除里面的沙子还是用不了。Java和C#是极
为抗操的语言可以扔给地球对面的印度外包公司折腾,C++这么搞就废了。

【在 h**l 的大作中提到】
: 是的,但这两者其实也是相关联的,如果公司愿意出足够多的钱,还是能招到合格C++
: 程序员的。关键现在也没新人学了,年轻人连JAVA都不学了,谁还学C++?

m*****p
发帖数: 39
118
“尤其对于cloud部署来说,CPP的性能提升更不明显”
container/kvm部署golang和cpp的性能差異目前我們還沒有做,但非常懷疑這個cpp性
能提升不明顯的結論,有reference link沒?前面有人貼link說aws lambda上csharp性
能是golang的三倍,三倍也算不明顯嗎?


: 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是
维护老

: 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长

: 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来
CPP的核

: 心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因
为CPP带

: 来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤
其对于

: cloud部署来说,CPP的性能提升更不明显



【在 s********k 的大作中提到】
: 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是维护老
: 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
: 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来CPP的核
: 心开发人员都在往golang转,自己开发的项目都不准备继续CPP下去,为啥,因为CPP带
: 来的性能提升,远远抵消不了开发维护难度的增加和项目推进速度慢的损失。尤其对于
: cloud部署来说,CPP的性能提升更不明显

w***g
发帖数: 5958
119
说得太对了。我带了好几个人了,从来不敢让他们插手我的C++项目。
只要引入一个好玩点的bug就够我受的了。
好在现在有python。

【在 x****u 的大作中提到】
: C++的问题不是程序员工资高,而是不合格程序员比例大。
: C++几乎没法开发大项目,要不就是一个牛人单打独斗,要不就是一个特别强势的人定
: 一个极严格的规范把大部分特性禁用属下只搬砖,否则写出来的代码就是灾难。
:
: ++
: 护老
: 的核
: CPP带
: 对于

h**l
发帖数: 168
120
C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
踢球了。
所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)

【在 w***g 的大作中提到】
: 说得太对了。我带了好几个人了,从来不敢让他们插手我的C++项目。
: 只要引入一个好玩点的bug就够我受的了。
: 好在现在有python。

相关主题
专业c++程序员都用什么ide (转载)牛人们来看看这个Dao语言怎么样
which is faster and why ? (答对有包子)C++11 support is now feature-complete in clang.
问一个volatile和memcpy一起用的问题转贴:[圣战] python 是个讨厌的语言
进入Programming版参与讨论
y**********u
发帖数: 2839
121
> 但大家都是要混口饭吃
对,谁给咱饭吃,咱就干啥,不挑

【在 h**l 的大作中提到】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)

l**********0
发帖数: 150
122
中国都是笨蛋去踢球,负筛选,能踢得好才怪。一流霸主的国家足球不会强。

【在 h**l 的大作中提到】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)

x****u
发帖数: 44466
123
C++性能并不好,因为缺少轮子,你又不可能自己手撸所有的

【在 h**l 的大作中提到】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)

s********k
发帖数: 6180
124
不知道三倍这个benchmark哪里来的,每个人实现不一样,我没有做过C# 对golang的对
比,不过网上有很多,随便找一个https://hackernoon.com/go-vs-net-core-in-terms
-of-http-performance-7535a61b67b8,可以试一下,
我觉得其实你可以改变mindset,你对底层了解,为啥不想着去提升golang性能,这样
impact会大得多,如果你假设别家都是不知道golang比CPP性能不如,误入golang,恐
怕也太低估这么多上golang公司的技术能力和项目判断了。相反,如果golang性能不如
CPP下还这么收欢迎,岂不是Golang性能提升之后更大有可图,所以做这个的话,
impact比你只是比较CPP和golang大多了。
当然项目选择语言,各家各个项目组,历史现实都不一样,不好判断

【在 m*****p 的大作中提到】
: “尤其对于cloud部署来说,CPP的性能提升更不明显”
: container/kvm部署golang和cpp的性能差異目前我們還沒有做,但非常懷疑這個cpp性
: 能提升不明顯的結論,有reference link沒?前面有人貼link說aws lambda上csharp性
: 能是golang的三倍,三倍也算不明顯嗎?
:
:
: 任何一个公司的新项目都是从前景不明朗开始的,要是都是前景明朗的,那都是
: 维护老
:
: 旧的系统,当然是CPP和Java居多,但是那样的项目基本对人没啥成长
:
: 至于没人敢碰和公司能力,我就不透露了,至少业界前三,没人敢碰是连原来
: CPP的核

y**********u
发帖数: 2839
125
看这个帖子学了好多,各位基友太厉害了,爱你们
g****t
发帖数: 31659
126
楼主不了解cpp用户痛点。

terms

【在 s********k 的大作中提到】
: 不知道三倍这个benchmark哪里来的,每个人实现不一样,我没有做过C# 对golang的对
: 比,不过网上有很多,随便找一个https://hackernoon.com/go-vs-net-core-in-terms
: -of-http-performance-7535a61b67b8,可以试一下,
: 我觉得其实你可以改变mindset,你对底层了解,为啥不想着去提升golang性能,这样
: impact会大得多,如果你假设别家都是不知道golang比CPP性能不如,误入golang,恐
: 怕也太低估这么多上golang公司的技术能力和项目判断了。相反,如果golang性能不如
: CPP下还这么收欢迎,岂不是Golang性能提升之后更大有可图,所以做这个的话,
: impact比你只是比较CPP和golang大多了。
: 当然项目选择语言,各家各个项目组,历史现实都不一样,不好判断

h**l
发帖数: 168
127
哈哈,那帮国家队踢球的也不是笨蛋,天分有限倒是真的, 因为合适的可供选拔的人
才太少了。美国足球也还马马虎虎了,主要问题是其它几项运动太火把人才分流了。中
国的问题是场地都被拿去造房子,开演唱会,跳广场舞了,没地儿踢球。

【在 l**********0 的大作中提到】
: 中国都是笨蛋去踢球,负筛选,能踢得好才怪。一流霸主的国家足球不会强。
h**l
发帖数: 168
128
哈哈,没错。我是假设有足够多的C++牛人。但这个假设在实际生活中基本上是不存在
的, 所以程序往往在性能和稳定性上都会有问题,尤其是在使用时间比较长,牛人慢慢
流失的情况下。 其实楼主把自己克隆1万个,很多问题就解决了。:)

【在 x****u 的大作中提到】
: C++性能并不好,因为缺少轮子,你又不可能自己手撸所有的
m*****p
发帖数: 39
129
你說的應該是c++03 stl性能不好,老黃曆了,現在正在改變。
c++11和c++03是兩種語言,c++20和c++11/03比則是第三種語言。

【在 x****u 的大作中提到】
: C++性能并不好,因为缺少轮子,你又不可能自己手撸所有的
x****u
发帖数: 44466
130
C++1x也是垃圾
举个例子,用C++写加密层如何无缝切到GPU上?

【在 m*****p 的大作中提到】
: 你說的應該是c++03 stl性能不好,老黃曆了,現在正在改變。
: c++11和c++03是兩種語言,c++20和c++11/03比則是第三種語言。

相关主题
javascript是要统一江湖的c++ programmer们就不用悲愤了
Dao语言2.0第一个测试版发布了!微软的架构设计师真是大学生水平啊
golang為什麼語法和關鍵詞這麼冷門?Golang 从13年到现在goog trends翻了快十倍
进入Programming版参与讨论
w***g
发帖数: 5958
131
C++20都有了啊。刚刚看了眼,感觉也没啥大差别。

【在 m*****p 的大作中提到】
: 你說的應該是c++03 stl性能不好,老黃曆了,現在正在改變。
: c++11和c++03是兩種語言,c++20和c++11/03比則是第三種語言。

m*****n
发帖数: 3575
132
golang的初衷就是智商高于80%分位低于95%分位的较优秀人才能编利索,而且在这个档
秒杀竞争品种,例如python
至于你说的极限速度不如C++
不是废话吗?
C++几个能用好,几个能继承前任代码?
b*******s
发帖数: 5216
133
possible features变化不小,如果能实现

【在 w***g 的大作中提到】
: C++20都有了啊。刚刚看了眼,感觉也没啥大差别。
n******t
发帖数: 4406
134
BS 這個人思維主要是推廣語言而不是拿他自己的baby來實現軟件。你看他這麼多年除
了寫書幹了啥?這種人搞出來的語言很多都是中看不中用的東西。
此外,C++性能好只有程序員把他當C來寫的時候才行,本身性能也就一般般。隨便舉個
例子,任何care性能的人,會把std::string搞成那樣嗎?

【在 h**l 的大作中提到】
: C++性能好是无可争议的,有人拿benchmark results 来证明java或者python比C++快,
: 甚至还拿leetcode的运行时间来举例,都是在搞笑。所以说这不是问题。
: 问题是stroustrup大爷弄出来C++以后三十多年了,冒出来这么多语言,各自立一个山
: 头。要是C++真得很好用,那些语言不会有生存空间。。。C++17 C++20 可能是好用了
: 很多,但是sorry, too late. 其实这和中国足球搞不好是一样的,因为中国小孩都不
: 踢球了。
: 所以存在就是合理的。当然吹牛不好。我也不喜欢AI的人吹嘘AI马上就要取代人类,紧
: 急关头一定要记得拔电源啥的。我对无人车也持保留态度。但大家都是要混口饭吃。尤
: 其如果golang比java的主要差距是在ecosystem的话,吹牛还是会很有帮助的。 :)

S*******n
发帖数: 305
135
看好rust,它才是有可能打败cpp的。区块链中也有用rust装逼的
b*****n
发帖数: 2324
136
让你笑死我了,你们厂完全不用C++所以你怕C++成了这样吧,C++没那么可怕,程序开
发都有质量控制
C这种可读性差的一个牛人单干有可能,比如Linus

【在 x****u 的大作中提到】
: 难题就在这里
: 花钱可以招到足够的C++程序员,但是无法去除里面的沙子还是用不了。Java和C#是极
: 为抗操的语言可以扔给地球对面的印度外包公司折腾,C++这么搞就废了。

b*****n
发帖数: 2324
137
dong总你们质量控制不行啊,说说你们采用了啥方法监督控制质量,我们看看能不能给
你提提建议

【在 w***g 的大作中提到】
: 说得太对了。我带了好几个人了,从来不敢让他们插手我的C++项目。
: 只要引入一个好玩点的bug就够我受的了。
: 好在现在有python。

x****u
发帖数: 44466
138
C++的所谓质量控制就是阉割

【在 b*****n 的大作中提到】
: 让你笑死我了,你们厂完全不用C++所以你怕C++成了这样吧,C++没那么可怕,程序开
: 发都有质量控制
: C这种可读性差的一个牛人单干有可能,比如Linus

b*****n
发帖数: 2324
139
stl只是一个general的实现,目的不是cover所有specific的问题

【在 m*****p 的大作中提到】
: 你說的應該是c++03 stl性能不好,老黃曆了,現在正在改變。
: c++11和c++03是兩種語言,c++20和c++11/03比則是第三種語言。

b*****n
发帖数: 2324
140
看了前面大拿的发言,感觉是给不愿意学C++的C老帮菜们用的
跟智商没关系

【在 m*****n 的大作中提到】
: golang的初衷就是智商高于80%分位低于95%分位的较优秀人才能编利索,而且在这个档
: 秒杀竞争品种,例如python
: 至于你说的极限速度不如C++
: 不是废话吗?
: C++几个能用好,几个能继承前任代码?

相关主题
Golang 从13年到现在goog trends翻了快十倍[合集] 老是关心语言快慢的人看过来
程序語言有兩種。震惊:java 的矩阵操作比 c++ 快?
Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
进入Programming版参与讨论
b*****n
发帖数: 2324
141
这么说吧,火药危险吧,照样生产吧,你听说军工厂经常爆炸么?

【在 x****u 的大作中提到】
: C++的所谓质量控制就是阉割
x****u
发帖数: 44466
142
C++等于让全厂工人随便碰火药

【在 b*****n 的大作中提到】
: 这么说吧,火药危险吧,照样生产吧,你听说军工厂经常爆炸么?
f*******t
发帖数: 7549
143
同意。
Golang能在像uber这样管理混乱的公司一统江湖,正是因为它在开发效率和运营效率之
间取得了完美的平衡,相比于其它语言有巨大的优势。
不知道两个月过去,楼主有没有认清golang是新一代公司主要backend语言的现实,别
再为c++招魂了。公司的技术骨干做决定时会考虑商业需求,在什么语言合适的问题上
绝对有判断力。

terms

【在 s********k 的大作中提到】
: 不知道三倍这个benchmark哪里来的,每个人实现不一样,我没有做过C# 对golang的对
: 比,不过网上有很多,随便找一个https://hackernoon.com/go-vs-net-core-in-terms
: -of-http-performance-7535a61b67b8,可以试一下,
: 我觉得其实你可以改变mindset,你对底层了解,为啥不想着去提升golang性能,这样
: impact会大得多,如果你假设别家都是不知道golang比CPP性能不如,误入golang,恐
: 怕也太低估这么多上golang公司的技术能力和项目判断了。相反,如果golang性能不如
: CPP下还这么收欢迎,岂不是Golang性能提升之后更大有可图,所以做这个的话,
: impact比你只是比较CPP和golang大多了。
: 当然项目选择语言,各家各个项目组,历史现实都不一样,不好判断

F****s
发帖数: 3761
144
先说需求,你要干什么,然后再比较工具。我小时候经常比较C和Pascal,那时候比较
的点跟现在可不一样。既然C++什么都能做为啥要用别的呢?说开发效率,都是copy自
己积累了几十年的代码库,智能指针也能省很多事。要说公司雇了一批新手,那就没办
法了,我永远不会钻进这样的新手组。
最近忙于写作,路过打一把酱油。
P****i
发帖数: 12972
145
招魂也谈不上。
遇到性能攸关的项目,还是得上c++。golang在k8s算得上一统江湖吧,envoy还是得用c
++写。

【在 f*******t 的大作中提到】
: 同意。
: Golang能在像uber这样管理混乱的公司一统江湖,正是因为它在开发效率和运营效率之
: 间取得了完美的平衡,相比于其它语言有巨大的优势。
: 不知道两个月过去,楼主有没有认清golang是新一代公司主要backend语言的现实,别
: 再为c++招魂了。公司的技术骨干做决定时会考虑商业需求,在什么语言合适的问题上
: 绝对有判断力。
:
: terms

f*******t
发帖数: 7549
146
哪种情况叫性能攸关?我没听说过哪家公司的golang backend service因为性能问题只
好用c++重写。一些要挖掘单机最后一丝性能的项目用c++很正常,没人说go能完全取而
代之,但只要靠堆机器scale up,go就有机会。看待go的时候要认识到以下两点才能不
偏激:
1. Golang的性能完全胜任足够复杂的高并发后端系统,比如uber的车辆调度和twitch
的直播评论。
2. 新公司后端选择了golang是因为它好用,不是因为它们盲目跟风。

用c

【在 P****i 的大作中提到】
: 招魂也谈不上。
: 遇到性能攸关的项目,还是得上c++。golang在k8s算得上一统江湖吧,envoy还是得用c
: ++写。

P****i
发帖数: 12972
147
我说的envy就是性能攸关啊。
你要搞个service mesh,每个反向代理的延迟、吞吐量都差30+%,整套服务下来还不得
要命。

twitch

【在 f*******t 的大作中提到】
: 哪种情况叫性能攸关?我没听说过哪家公司的golang backend service因为性能问题只
: 好用c++重写。一些要挖掘单机最后一丝性能的项目用c++很正常,没人说go能完全取而
: 代之,但只要靠堆机器scale up,go就有机会。看待go的时候要认识到以下两点才能不
: 偏激:
: 1. Golang的性能完全胜任足够复杂的高并发后端系统,比如uber的车辆调度和twitch
: 的直播评论。
: 2. 新公司后端选择了golang是因为它好用,不是因为它们盲目跟风。
:
: 用c

p*u
发帖数: 2454
148
公司飞速发展的初级阶段需要糙快猛,就用简单容易上手的语言。等做大之后有钱有闲
了,再招牛人们手撸C/C++提高performance,变相节省data center开支。FB不就是这
样么?

twitch

【在 f*******t 的大作中提到】
: 哪种情况叫性能攸关?我没听说过哪家公司的golang backend service因为性能问题只
: 好用c++重写。一些要挖掘单机最后一丝性能的项目用c++很正常,没人说go能完全取而
: 代之,但只要靠堆机器scale up,go就有机会。看待go的时候要认识到以下两点才能不
: 偏激:
: 1. Golang的性能完全胜任足够复杂的高并发后端系统,比如uber的车辆调度和twitch
: 的直播评论。
: 2. 新公司后端选择了golang是因为它好用,不是因为它们盲目跟风。
:
: 用c

f*******t
发帖数: 7549
149
提高perf节省dc cost主要并不是依靠语言。架构复杂的分布式系统里,用c++重写几个
component,效率就能高10倍,不觉得这种说法是天方夜谭吗。我的经验是,fb这样的
大公司花了最多精力在这些优化上:
1.减少硬件浪费。有的service只需要3台机器,却配置了10台,需要一系列capacity管
理工具通过系统load动态调整,并把service放进container。
2.减少软件浪费。比如某组的ranking engineer测试新feature后发现没有用但忘记删
除,不断生成的data占用很多资源,清除这些每天能节省PB级的存储。
3.追踪regression。在php repo里,每个diff都有可能造成性能问题,需要一个系统自
动锁定谁是trouble maker。
4.提供各种工具让developer的工作更有效率。人工成本可不比服务器成本少。

【在 p*u 的大作中提到】
: 公司飞速发展的初级阶段需要糙快猛,就用简单容易上手的语言。等做大之后有钱有闲
: 了,再招牛人们手撸C/C++提高performance,变相节省data center开支。FB不就是这
: 样么?
:
: twitch

p*u
发帖数: 2454
150
Scylla DB就比Cassandra的throughput大很多倍:
https://www.scylladb.com/product/benchmarks/

【在 f*******t 的大作中提到】
: 提高perf节省dc cost主要并不是依靠语言。架构复杂的分布式系统里,用c++重写几个
: component,效率就能高10倍,不觉得这种说法是天方夜谭吗。我的经验是,fb这样的
: 大公司花了最多精力在这些优化上:
: 1.减少硬件浪费。有的service只需要3台机器,却配置了10台,需要一系列capacity管
: 理工具通过系统load动态调整,并把service放进container。
: 2.减少软件浪费。比如某组的ranking engineer测试新feature后发现没有用但忘记删
: 除,不断生成的data占用很多资源,清除这些每天能节省PB级的存储。
: 3.追踪regression。在php repo里,每个diff都有可能造成性能问题,需要一个系统自
: 动锁定谁是trouble maker。
: 4.提供各种工具让developer的工作更有效率。人工成本可不比服务器成本少。

相关主题
为什么好多ID 见到 c++就好象 不共戴天呢?which is faster and why ? (答对有包子)
取代C++!Google 开发自己的编程语言Golang了 (转载)问一个volatile和memcpy一起用的问题
专业c++程序员都用什么ide (转载)牛人们来看看这个Dao语言怎么样
进入Programming版参与讨论
b*****n
发帖数: 2324
151
我觉得你是不是没有get到,大厂一个single service经常使用达到万台机器
用不用C++明显要考虑(节省的运行成本(电费、硬件开销)- 增加的软件开发成本)
如果使用的机器数量是n,前者是O(n),后者是O(c)

【在 f*******t 的大作中提到】
: 提高perf节省dc cost主要并不是依靠语言。架构复杂的分布式系统里,用c++重写几个
: component,效率就能高10倍,不觉得这种说法是天方夜谭吗。我的经验是,fb这样的
: 大公司花了最多精力在这些优化上:
: 1.减少硬件浪费。有的service只需要3台机器,却配置了10台,需要一系列capacity管
: 理工具通过系统load动态调整,并把service放进container。
: 2.减少软件浪费。比如某组的ranking engineer测试新feature后发现没有用但忘记删
: 除,不断生成的data占用很多资源,清除这些每天能节省PB级的存储。
: 3.追踪regression。在php repo里,每个diff都有可能造成性能问题,需要一个系统自
: 动锁定谁是trouble maker。
: 4.提供各种工具让developer的工作更有效率。人工成本可不比服务器成本少。

f*******t
发帖数: 7549
152
天哪,是啥让你觉得后者是O(c)的。跑10台机器上的service,跟跑10000台机器上的
service,开发成本能一样吗?大厂service各种耦合,重写一个service往往解决不了
什么问题,另外还有迁移测试等成本。
我前边回的几个帖,用手机好不容易打了那么多字,就是希望大家能意识到软件最终是
要为公司的business服务的,语言的性能只是一个指标,往往还不是决定性因素,看问
题的时候要多考虑几个维度。感觉对牛弹琴了。。。

【在 b*****n 的大作中提到】
: 我觉得你是不是没有get到,大厂一个single service经常使用达到万台机器
: 用不用C++明显要考虑(节省的运行成本(电费、硬件开销)- 增加的软件开发成本)
: 如果使用的机器数量是n,前者是O(n),后者是O(c)

b*****n
发帖数: 2324
153
不是O(c)难道是O(n)?只要你承认比O(n)小,再回去看看我的帖子

【在 f*******t 的大作中提到】
: 天哪,是啥让你觉得后者是O(c)的。跑10台机器上的service,跟跑10000台机器上的
: service,开发成本能一样吗?大厂service各种耦合,重写一个service往往解决不了
: 什么问题,另外还有迁移测试等成本。
: 我前边回的几个帖,用手机好不容易打了那么多字,就是希望大家能意识到软件最终是
: 要为公司的business服务的,语言的性能只是一个指标,往往还不是决定性因素,看问
: 题的时候要多考虑几个维度。感觉对牛弹琴了。。。

f*******t
发帖数: 7549
154
多说无益,你自己来大厂体验一下就知道了

【在 b*****n 的大作中提到】
: 不是O(c)难道是O(n)?只要你承认比O(n)小,再回去看看我的帖子
h****e
发帖数: 2125
155
编程语言性能在绝大部分环境下不起决定性作用,2018年了,这个不需要你再来安利吧
。你也不要觉得自己不是牛还会弹琴。
没记错的话你就是Facebook的吧?你厂狂用C++你跑来和大家拼命讲语言性能不重要,
大家觉得你有点分裂而已。

【在 f*******t 的大作中提到】
: 天哪,是啥让你觉得后者是O(c)的。跑10台机器上的service,跟跑10000台机器上的
: service,开发成本能一样吗?大厂service各种耦合,重写一个service往往解决不了
: 什么问题,另外还有迁移测试等成本。
: 我前边回的几个帖,用手机好不容易打了那么多字,就是希望大家能意识到软件最终是
: 要为公司的business服务的,语言的性能只是一个指标,往往还不是决定性因素,看问
: 题的时候要多考虑几个维度。感觉对牛弹琴了。。。

b*****n
发帖数: 2324
156
大多数golang的service跑在不超过几个,十几个机器上。我好奇golang跑的最大的
service是什么?有超过一千台server的golang service么?我想围观一下
f*******t
发帖数: 7549
157
你既同意"编程语言性能在绝大部分环境下不起决定性作用",又反对“语言性能不重要
”,到底谁分裂了?
另外声明一下,我明确把话题限定在golang的性能在大部分分布式系统中不是瓶颈,请
不要曲解我的意思。
再谈谈fb backend狂用c++的设定,这是个很有意思的话题。我认为主要是由于早期招
的人多是acm选手和从google挖的c++程序员,大多数系统的原型是c++,很难改变了。
与G家闲人众多不同,F的dev infra团队没有足够的资源去支持其它语言,比如golang
的支持是两三个dev出于兴趣用业余时间一点点搞起来的。16年后端build system从
fbmake改成buck,golang由于不是主流语言,用它开发只能一步步地把坑踩过去。
thrift的支持不好,跟其它service通信都有问题,还谈什么。我写的一个需要cgo的
side project直接无法编译,只好放弃。这恰好印证了我之前说的,legacy code太多
无法重写大公司只好沿着一条道走到黑的理论。G家dev support资源应该是很多的,所
以后端百花齐放,可以选择c++, java和go,甚至更多小众语言进行开发。

【在 h****e 的大作中提到】
: 编程语言性能在绝大部分环境下不起决定性作用,2018年了,这个不需要你再来安利吧
: 。你也不要觉得自己不是牛还会弹琴。
: 没记错的话你就是Facebook的吧?你厂狂用C++你跑来和大家拼命讲语言性能不重要,
: 大家觉得你有点分裂而已。

p*u
发帖数: 2454
158
FB早期不是纯php吗?赵海平也不是狗家的前员工,写hiphop就是图C++的performance。

golang

【在 f*******t 的大作中提到】
: 你既同意"编程语言性能在绝大部分环境下不起决定性作用",又反对“语言性能不重要
: ”,到底谁分裂了?
: 另外声明一下,我明确把话题限定在golang的性能在大部分分布式系统中不是瓶颈,请
: 不要曲解我的意思。
: 再谈谈fb backend狂用c++的设定,这是个很有意思的话题。我认为主要是由于早期招
: 的人多是acm选手和从google挖的c++程序员,大多数系统的原型是c++,很难改变了。
: 与G家闲人众多不同,F的dev infra团队没有足够的资源去支持其它语言,比如golang
: 的支持是两三个dev出于兴趣用业余时间一点点搞起来的。16年后端build system从
: fbmake改成buck,golang由于不是主流语言,用它开发只能一步步地把坑踩过去。
: thrift的支持不好,跟其它service通信都有问题,还谈什么。我写的一个需要cgo的

p******y
发帖数: 99
159
看完两个高楼,收获很大

performance。

【在 p*u 的大作中提到】
: FB早期不是纯php吗?赵海平也不是狗家的前员工,写hiphop就是图C++的performance。
:
: golang

1 (共1页)
进入Programming版参与讨论
相关主题
C++11 support is now feature-complete in clang.程序語言有兩種。
转贴:[圣战] python 是个讨厌的语言Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ
javascript是要统一江湖的[合集] 老是关心语言快慢的人看过来
Dao语言2.0第一个测试版发布了!震惊:java 的矩阵操作比 c++ 快?
golang為什麼語法和關鍵詞這麼冷門?看了那个招聘的帖子,自觉需要把 atoi温习一下。赶紧的
c++ programmer们就不用悲愤了为什么好多ID 见到 c++就好象 不共戴天呢?
微软的架构设计师真是大学生水平啊取代C++!Google 开发自己的编程语言Golang了 (转载)
Golang 从13年到现在goog trends翻了快十倍专业c++程序员都用什么ide (转载)
相关话题的讨论汇总
话题: go话题: golang话题: cpp话题: defs话题: amd64