当前在线人数15457
首页 - 分类讨论区 - 电脑网络 - 葵花宝典版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的
[版面:葵花宝典][首篇作者:magagop] , 2018年03月08日12:17:58 ,5881次阅读,125次回复
来APP回复,赚取更多伪币 关注本站公众号:
[首页] [上页][下页][末页] [分页:1 2 3 4 5 6 7 ]
magagop
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: magagop (magagop), 信区: Programming
标  题: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的那樣
关键字: golang
发信站: BBS 未名空间站 (Thu Mar  8 12:17:58 2018, 美东)

我上一個貼提到了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看起來很好,但是實際性能不怎麼樣,注定是小眾語言。
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2605:a601:4205:]

 
bingocat
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: bingocat (bingocat), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的
发信站: BBS 未名空间站 (Thu Mar  8 12:37:06 2018, 美东)

go的三巨头就不说了,连小马仔russ cox都是当年的奥赛金牌。
你确信他们都搞错了。


--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 140.]

 
magagop
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 3 ]

发信人: magagop (magagop), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的
发信站: BBS 未名空间站 (Fri Mar  9 01:19:33 2018, 美东)

就憑幾個牛人幾個公司幾年時間就想超越cpp、java或csharp,我看懸,golang最好的
結果就是scala,是小眾語言。
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2605:a601:4205:]

 
walkrandom
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 4 ]

发信人: walkrandom (walkrandom), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的
发信站: BBS 未名空间站 (Fri Mar  9 06:44:13 2018, 美东)

go是区块链语言,不会是小众语言。

觉得go性能不好,可以去leetcode和java同时刷刷比较一下。
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 74.]

 
ycj
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 5 ]

发信人: ycj (ycj), 信区: Programming
标  题: golang鎬ц兘姣擟鍜孋pp宸ソ閬狅紝灏ゅ叾鍦ㄩ潪x86骞冲彴锛岃窡鏈笉锟
发信站: BBS 未名空间站 (Fri Mar  9 07:40:37 2018, 美东)

个人认为GOLang作为系统语言来说过于高级,应该有一个稍微低级一点的语言GO--就好
了。


--
※ 修改:·ycj 於 Mar  9 08:04:20 2018 修改本文·[FROM: 71.]
※ 来源:· 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 71.]

 
wdong
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 6 ]

发信人: wdong (万事休), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的那
发信站: BBS 未名空间站 (Fri Mar  9 08:18:40 2018, 美东)

用cpp可破。

【在  magagop(magagop)的大作中提到:】

:我上一個貼提到了golang兩大問題:GOGC和goroutine調度,今天開會同事又發現很多

--
※ 来源:·Android 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2600:1702:6d0:c]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 7 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不
发信站: BBS 未名空间站 (Fri Mar  9 11:25:06 2018, 美东)

Go的性能打的是java,python。
任何语言和c,Fortran, pascal比性能本身就是个错误。

从计算的角度来看。
能严肃多线程并行的语言除了c sharp,cpp, java就只有golang了。golang开发速度和
python差不多(如果你不用第三方库)。

--
※ 来源:· 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2607:fb90:d8e:a]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 8 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不
发信站: BBS 未名空间站 (Fri Mar  9 11:28:23 2018, 美东)

你说的这些都是很好的知识。但结论有些不靠谱。尤其是未来java的
Fiber赢goroutine.这个大部分其实是取决于资金,不是技术。

--
※ 来源:· 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2607:fb90:d8e:a]

 
magagop
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 9 ]

发信人: magagop (magagop), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣
发信站: BBS 未名空间站 (Fri Mar  9 12:15:09 2018, 美东)

leetcode的測試數據量太小,大部分是jvm啟動慢的問題,而且jit也不一定被啟動。
leetcode的測試結果偏向靜態連結非託管程序。


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



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 217.]

 
magagop
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 10 ]

发信人: magagop (magagop), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不�
发信站: BBS 未名空间站 (Fri Mar  9 12:21:08 2018, 美东)

(如果你不用第三方库)-> 這個才是重點好嗎。

一個語言不是拼自己的標準庫,是拼社區,三方庫,這方面cpp和java完爆golang。

我結論的前提是:當FB和G、M開放他們自己的庫後,cpp競爭力明顯上升。再加上無縫
兼容LLVM,硬件加速未來也沒有問題。有機會去研究一下我提到的folly和abseil再說
吧,golang的三方庫就是開玩笑。


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


--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 217.]

 
magagop
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 11 ]

发信人: magagop (magagop), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不�
发信站: BBS 未名空间站 (Fri Mar  9 12:27:47 2018, 美东)

我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比google
自己錢少麼?

golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
大規模用?FB?Amazon?M?IBM?

另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
python這種二流語言都趕不上


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



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 217.]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 12 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ
发信站: BBS 未名空间站 (Fri Mar  9 12:46:11 2018, 美东)

我看的点不是web后台。我认为下面两个观察是很牢固的,当然,也欢迎批评。

1。能严肃多线程并行的语言除了c sharp,cpp, java就只有golang
2。不用第三方库,做数值计算要么多语言。单语言最好的选择现在我找到的就是golang。

我不用第三方库的理由是很明显的,你想想就明白了.
我不可能在指甲盖小的芯片里装pandas

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



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2607:fb90:d8e:a]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 13 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ
发信站: BBS 未名空间站 (Fri Mar  9 12:47:03 2018, 美东)

这取决于公司对单个项目的投入。对散户来说这些信息是不可知的。
所以我认为这条不需要列入讨论内容。
【 在 magagop (magagop) 的大作中提到: 】
: 我同意資金第一重要,但你認為力挺java的amazon + oracle + ibm + google比
google
: 自己錢少麼?
: golang連標準委員會都沒有(Cpp還是ISO呢),是google自己的玩具,其他大企業誰敢
: 大規模用?FB?Amazon?M?IBM?
: 另外還要考慮的是沈澱資本,按代碼量計算,golang能超過cpp或者java麼?感覺連
: python這種二流語言都趕不上



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2607:fb90:d8e:a]

 
walkrandom
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 14 ]

发信人: walkrandom (walkrandom), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的
发信站: BBS 未名空间站 (Fri Mar  9 12:52:32 2018, 美东)

做web都差不多的,没人care。
要看大腿。

java报了android的大腿。
python报了DL的大腿。
现在go要报区块链的大腿了。
一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 140.]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 15 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣
发信站: BBS 未名空间站 (Fri Mar  9 12:56:24 2018, 美东)

假如不考虑第三方库等历史因素。我现在感觉Go开发速度和python差不多。
只要你自己补好emacs,vim等的tool。

写个区块链。python多半是比不上go。无论从开发速度还是运行和部署。
【 在 walkrandom (walkrandom) 的大作中提到: 】
: 做web都差不多的,没人care。
: 要看大腿。
: java报了android的大腿。
: python报了DL的大腿。
: 现在go要报区块链的大腿了。
: 一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。




--
※ 修改:·guvest 於 Mar  9 12:57:19 2018 修改本文·[FROM: 192.]
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2607:fb90:d8e:a]

 
magagop
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 16 ]

发信人: magagop (magagop), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不ʏ
发信站: BBS 未名空间站 (Fri Mar  9 16:13:17 2018, 美东)

我沒有說要用python這個二流語言啊,我的結論是:刷題練手、嚴肅項目最好用cpp或
java或csharp。
你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不支持動態連結
,跟cpp沒法比。
如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方庫?
如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?

這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp編譯器本身就
是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?

未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有豐富的第三方
庫,為啥不用?

我個人感覺把這三種語言的新特性弄清楚比新學golang更重要,而且他們之間感念相近
,觸類旁通。


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


--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 217.]

 
magagop
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 17 ]

发信人: magagop (magagop), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣
发信站: BBS 未名空间站 (Fri Mar  9 16:15:24 2018, 美东)

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


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



--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 217.]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 18 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非
发信站: BBS 未名空间站 (Fri Mar  9 17:03:57 2018, 美东)

你非要无视事实。
说golang做不了严肃项目。
Python二流语言。

那又有什么意思呢?

我觉得你对two language dilemma 经历的不够。
不知道 两种语言 实际上会有多少麻烦。
谁要是觉得python 加c开发算法产品容易。
那他多半没做过足够多的项目。
【 在 magagop(magagop) 的大作中提到: 】
<br>: 我沒有說要用python這個二流語言啊,我的結論是:刷題練手、嚴肅項目
最好用
cpp或
<br>: java或csharp。
<br>: 你說的那是嵌入式,那一定是c和cpp啦,golang編譯出來動輒xxxMB,不
支持動
態連結
<br>: ,跟cpp沒法比。
<br>: 如果做互聯網,那一定是java後台啦,框架多得很,為什麼不能用第三方
庫?
<br>: 如果做桌面應用,那一定是csharp啦,golang能很好的搞桌面麼?
<br>: 這三種語言(cpp、java、csharp)語法越來越接近,而且java和csharp
編譯器
本身就
<br>: 是cpp寫得,是一個非常好和成熟的路線,為什麼要搞另類的golang?
<br>: 未來golang可以做的,他們(cpp20、java10、csharp8)都可以做,還有
豐富的
第三方
<br>: 庫,為啥不用?
: ...................
<br>


--
※ 修改:·guvest 於 Mar  9 17:08:34 2018 修改本文·[FROM: 192.]
※ 来源:· 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 192.]

 
guvest
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 19 ]

发信人: guvest (我爱你老婆Anna), 信区: Programming
标  题: Re: golang鎬ц兘姣擟鍜孋pp宸ソ閬狅紝灏ゅ叾鍦ㄩ潪x86骞冲彴锛岃窡锟
发信站: BBS 未名空间站 (Fri Mar  9 17:07:42 2018, 美东)

你自己查资料吧。golang处在c和python之间。

你把语言的表达能力做x
可预测性做y

XY上任何一个横向zone都有需求
【 在 magagop(magagop) 的大作中提到: 】
<br>: 區塊鏈,為什麼不用cpp加第三方庫?
<br>

--
※ 修改:·guvest 於 Mar  9 17:23:46 2018 修改本文·[FROM: 192.]
※ 来源:· 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 192.]

 
fantasist
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 20 ]

发信人: fantasist (一), 信区: Programming
标  题: Re: golang性能比C和Cpp差好遠,尤其在非x86平台,跟本不是宣傳的
发信站: BBS 未名空间站 (Fri Mar  9 17:26:25 2018, 美东)

不知道你为什么一个劲地揪着某些运算的性能不放,眼光狭隘。我就不在另一个帖回复
了,意见统一写在这里。
* 写一个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需求的同
时,综合成本最低的语言。
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 2620:10d:c090:2]

[首页] [上页][下页][末页] [分页:1 2 3 4 5 6 7 ]
[快速返回] [ 进入葵花宝典讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996