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差不多(如果你不用第三方库)。
|
|
|
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需求的同
时,综合成本最低的语言。 |
|
|
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++比性能啊。
|
|
|
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同时刷刷比较一下。 |
|
|
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要报区块链的大腿了。
一个语言的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。。 |
|
|
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
|
|
|
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还没学明白呢,咋整出这么多语言啊,老帮菜真是惨
|
|
|
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 : : 亮点是编译快,节省内存。 :
|
|
|
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不支持呢?难点在哪?
|
|
|
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库改造,都没人敢碰,所以在实际公司中的项目中,考虑的因 : 素太多了
|
|
|
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、在某些領域的統 : 治地位
|
|
|
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。
|
|
|
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比則是第三種語言。
|
|
|
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++几个能用好,几个能继承前任代码?
|
|
|
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的工作更有效率。人工成本可不比服务器成本少。
|
|
|
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
|