自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么Windows內(nèi)核比其他系統(tǒng)慢

新聞 Windows
我曾在 Hacker News 上發(fā)表過一篇帖子,解釋為什么 Windows 內(nèi)核不管是在性能還是在創(chuàng)新方面都比不上 Linux。后來,有一位 Windows NT 內(nèi)核開發(fā)者發(fā)文對(duì)此進(jìn)行了回應(yīng)

 [[319077]]

我曾在 Hacker News 上發(fā)表過一篇帖子,解釋為什么 Windows 內(nèi)核不管是在性能還是在創(chuàng)新方面都比不上 Linux。后來,有一位 Windows NT 內(nèi)核開發(fā)者發(fā)文對(duì)此進(jìn)行了回應(yīng),承認(rèn)了這個(gè)問題的存在,并解釋了導(dǎo)致這個(gè)問題的根源。但因?yàn)楸O(jiān)管方面的原因,這篇文章被刪掉了。不過,這篇文章意義重大,所以我還是重新把它貼出來。以下是正文。

Windows 在很多方面確實(shí)比其他操作系統(tǒng)要慢,而且差距在不斷擴(kuò)大。導(dǎo)致這個(gè)問題的根源是人。Windows 世界的改進(jìn)不夠純粹,不像 Linux 世界那樣純粹。在 Linux 世界,人們做出一項(xiàng)改進(jìn)可能僅僅是為了獲得榮耀。

當(dāng)然,偶爾也會(huì)有那么一些人,他們也想把事情做得更好,但幾乎都是以失敗告終。我們確實(shí)在某些方面做出了改進(jìn),因?yàn)槟切┱莆召Y源的人相信這些改進(jìn)影響到了業(yè)務(wù)目標(biāo)。但這些工作是徒勞的,我們并沒有正式或非正式的性能改進(jìn)計(jì)劃,我們開始關(guān)注安全問題,因?yàn)闆]有 SP3 的 Windows XP 對(duì)業(yè)務(wù)來說是一個(gè)巨大威脅,而性能問題在這個(gè)時(shí)候顯得微不足道。

通常,系統(tǒng)組件所有者不太喜歡來自其他團(tuán)隊(duì)的補(bǔ)丁。作為開發(fā)人員,如果你接受了來自外部的補(bǔ)丁,可能會(huì)惹惱你的領(lǐng)導(dǎo)(因?yàn)檠a(bǔ)丁需要維護(hù),導(dǎo)致計(jì)劃外的設(shè)計(jì)變更),讓測(cè)試人員不高興(給他們帶來額外的工作量),讓 PM 生氣(進(jìn)度受影響)。所以,一個(gè)團(tuán)隊(duì)通常沒有必要接受來自其他團(tuán)隊(duì)的變更,而且總是可以找到拒絕的理由。

在 Windows 世界,人們幾乎找不到做出改變的源動(dòng)力。而在 Linux 世界,哪怕是把遍歷文件目錄的性能改進(jìn)了 5%,也會(huì)受到表揚(yáng)和感謝。在 Windows 世界,如果你不是那個(gè)團(tuán)隊(duì)的人,即使你的代碼被接受了,領(lǐng)導(dǎo)們也會(huì)不屑一顧。的確,做出一個(gè)巨大的改進(jìn)可以讓你引起高層的注意,這對(duì)于你的職業(yè)生涯來說是件好事,但這個(gè)改進(jìn)要足夠大,大到可以引起他們的注意。增量式的小改進(jìn)只會(huì)惹人煩,對(duì)你的職業(yè)生涯并沒有什么好處。如果運(yùn)氣不好,你跟領(lǐng)導(dǎo)說你為其他系統(tǒng)組件做了性能改進(jìn),他可能會(huì)反過來問你:如果出了問題,你該怎么辦?

長此以往,人們不再熱心于計(jì)劃外的工作,這有什么奇怪的嗎?

導(dǎo)致這種差距的另一個(gè)原因是我們無法留住有才華的人。谷歌和其他位于西雅圖的大公司不斷挖墻腳,把我們最好最有經(jīng)驗(yàn)的開發(fā)人員都挖走了,我們只能從高校招聘年輕的畢業(yè)生來替代他們。你會(huì)發(fā)現(xiàn),很多輸入系統(tǒng)是初級(jí)工程師在維護(hù)。這些開發(fā)者的出發(fā)點(diǎn)是好的,他們也足夠聰明,但他們不理解一些決策的初衷是什么,對(duì)系統(tǒng)的工作原理沒有全面的認(rèn)識(shí),更重要的是,他們不愿意去修改已有的東西。

這些初級(jí)開發(fā)者傾向于通過實(shí)現(xiàn)新的特性來改進(jìn)系統(tǒng),而不是在舊有的基礎(chǔ)上做出改變。因?yàn)橄啾刃薷呐f東西,實(shí)現(xiàn)新特性可以節(jié)省評(píng)審時(shí)間。

這樣的例子有很多,比如:

  • 我們不要去碰命名管道,加個(gè) %INTERNAL_NOTIFICATION_SYSTEM% 吧!
  • 我們不能把 %INTERNAL_NOTIFICATION_SYSTEM% 暴露出去,這樣就不用寫文檔了,而且不影響銷售,因?yàn)槲覀冎挥?90 年代的 Win32 API。
  • 我們不要去碰 DCOM,加個(gè) %C#_REMOTING_FLAVOR_OF_THE_WEEK% 吧!
  • XNA,這個(gè)還用說嗎?
  • 怎么會(huì)有人需要大于 2G 的文件壓縮格式?
  • 我們可以支持符號(hào)鏈接,但要確保不會(huì)有人用,這樣就不用因?yàn)榘踩┒丛馐芰R名!
  • 我們不要去碰 SDX,所以就假裝有四個(gè)版本在遷移到 TFS,但實(shí)際上什么也沒改變!
  • NTFS 代碼使用了全局遞歸鎖和 SEH,太恐怖了,我們需要寫個(gè)參考文檔。
  • 我們不能實(shí)現(xiàn) C11 支持,在一年內(nèi)實(shí)現(xiàn)可變模板太難了。

看,微軟還是有一些有才華的開發(fā)者,他們對(duì)操作系統(tǒng)開發(fā)的復(fù)雜性有著敏銳的洞察力,并對(duì)簡潔設(shè)計(jì)有著獨(dú)到的眼光。在某些方面,NT 內(nèi)核比 Linux 好,但這些有才華的人要么退休,要么去了其他大型的科技公司,替代者很少能夠達(dá)到他們的水平。我們的員工要么是朝九晚五有孩子的,要么是迫切希望拿到 H1B 的,要么是被谷歌拒絕的。我們偶爾也會(huì)遇到好的人才,但那也只是杯水車薪,難怪我們會(huì)落后。

這篇文章的作者以匿名的方式聯(lián)系到我,擔(dān)心他的文章太過張揚(yáng),所以又補(bǔ)充了以下這些內(nèi)容。

一切都失控了。我太過苛刻了,其實(shí)我并沒有打算爆料,只是想抱怨一下。我在寫這篇文章時(shí)應(yīng)該更謹(jǐn)慎一些。我很抱歉,讓你們對(duì)微軟內(nèi)部有了一個(gè)錯(cuò)誤的印象。

首先,我想澄清一下,我之前寫的大部分內(nèi)容都是半開玩笑的,而且言過其實(shí)——NTFS 確實(shí)在內(nèi)部使用了 SEH,但文件系統(tǒng)非??煽?,而且經(jīng)過了良好的測(cè)試。維護(hù)人員是我所知道的最有才華和最有經(jīng)驗(yàn)的人。我們的其他核心組件也是如此。的確,有一些組件讓更有經(jīng)驗(yàn)的人來維護(hù)會(huì)更好,但我們也并沒有隨便讓不合格的人來做這些工作。

當(dāng)然,我手里也沒有有關(guān)挖墻腳的內(nèi)部數(shù)據(jù),我的觀點(diǎn)帶有主觀性——我看到了一些非常親密的朋友離開了,對(duì)新招來的員工也沒有太多印象。我手里沒有全方位的事實(shí)和數(shù)據(jù)。我對(duì)人員流動(dòng)的總體了解可能是錯(cuò)的,我不應(yīng)該像之前那樣陳述這件事。

微軟仍然擁有大量的技術(shù)人才。我們不會(huì)發(fā)布沒人維護(hù)和理解的代碼,雖然有時(shí)候新人需要一段時(shí)間才能上手。我可以訪問 Windows 源代碼,偶爾也會(huì)提交一些代碼,但除了我以外,還有成千上萬的人也在這么做。我沒有什么特別的。我不是什么爆料者。雖然我個(gè)人認(rèn)為對(duì)符號(hào)鏈接的限制影響了它的用途,但我們當(dāng)時(shí)確實(shí)做了一個(gè)合理的工程分析——并不是一個(gè)別有用心的家伙試圖避免得到糟糕的評(píng)審分?jǐn)?shù)。事實(shí)上,這樣的事情幾乎從未發(fā)生過。我們幾乎從不單獨(dú)做決定,我想強(qiáng)調(diào)的是,我們并不瘋狂,也沒有出現(xiàn)功能失調(diào)。社會(huì)力阻礙了創(chuàng)新,我們應(yīng)該在文化方面做點(diǎn)什么,但還至于到了崩潰的邊緣。這種負(fù)面影響更像是在汽車上安裝了一個(gè)不必要的擾流板,遠(yuǎn)沒有拆卸發(fā)動(dòng)機(jī)那么嚴(yán)重。我們的工程部門正常運(yùn)作,發(fā)布可靠、有用的軟件,這些軟件可以在全世界的電腦上運(yùn)行。不管你怎么看待 Windows 8 的 UI,UI 之下的系統(tǒng)總是堅(jiān)如磐石,就像 Windows 7 一樣,我很自豪自己參與了整個(gè)過程。

我還想為我說過的有關(guān)開發(fā)部門的事情道歉。我可能對(duì)編譯器團(tuán)隊(duì)安排的事項(xiàng)優(yōu)先級(jí)有意見,對(duì)為什么某些 C++ 特性需要更長的實(shí)現(xiàn)時(shí)間感到困惑,但事實(shí)是那些優(yōu)秀的人確實(shí)在做工作。他們當(dāng)然知道什么是依賴循環(huán),我們只不過是世界上僅有的幾個(gè)從頭開發(fā)優(yōu)化編譯器的團(tuán)隊(duì)之一。

最后,我遇到了一些很好的人,我覺得自己是某個(gè)特殊群體的一部分。如果我認(rèn)為 Windows 是一個(gè)工程噩夢(mèng),我就不會(huì)在這里說這些了。每個(gè)人都有自己的問題,但公司以外的人似乎對(duì)我們的問題賦予了特殊的含義。我不明白為什么會(huì)這樣。無論如何,之前的文章給那些敬業(yè)、努力工作的人抹黑了,我不應(yīng)該用丑陋的畫筆來刻畫他們。

另外,我對(duì)同事們沒有什么意見,我想收回對(duì)他們的隨意評(píng)判。很多一起工作的同事都很棒,而他們正好有孩子要養(yǎng)。我想說的是,我不喜歡某些人,他們把我們的工作看成是一項(xiàng)工作而不是激情,而且我覺得現(xiàn)在有很多這樣的人。

 

責(zé)任編輯:張燕妮 來源: 架構(gòu)頭條
相關(guān)推薦

2020-12-21 14:28:01

語言JavaC ++

2020-12-02 09:14:47

Apache批處理流式數(shù)據(jù)

2018-06-21 08:50:53

2021-11-27 05:00:43

線程邏輯地址

2018-08-16 08:03:21

Python語言解釋器

2024-04-15 04:00:00

C#反射代碼

2015-07-08 14:47:56

JSPBeetl

2021-01-13 10:51:08

PromissetTimeout(函數(shù)

2022-11-10 15:32:29

2009-12-17 15:18:47

2019-09-09 10:36:21

C語言編程語言程序員

2021-05-29 06:23:47

webpack esbuild

2016-12-28 11:28:19

.NET反射

2020-08-14 09:11:29

RedisQPS數(shù)據(jù)庫

2015-07-31 16:29:15

DockerJavaLinux

2019-04-24 08:00:00

HTTPSHTTP前端

2021-12-27 07:10:26

ClassmethodStaticmetho函數(shù)

2016-12-14 12:02:01

StormHadoop大數(shù)據(jù)

2017-02-14 14:20:02

StormHadoop

2013-05-13 14:10:57

Windows系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)