專訪Facebook HipHop作者、阿裏研究員趙海平:生物與計算機交織的獨特人生
3月26日,杭州的天陰沉沉,這是一種山色空蒙雨亦奇的美麗,還是霧靄籠罩下的怪異,對於來訪阿裏巴巴西溪園區的人們來說,沒人關心這些。人們行色匆匆,興奮地往各自目的地奔赴而去。我也來不及細思這些,因為今天要和剛從Facebook來到阿裏的趙海平聊天。
就語言之爭,趙海平稱,有人會去爭論錘子和斧子哪更好使嗎?它不是要根據你做的事來定嗎?
趙海平是非常著名的軟件工程師,曾在微軟工作過。2007年加入不到50位軟件工程師的Facebook(是第一位中國工程師),期間他創建了HipHop項目。HipHop可以將PHP腳本代碼先轉換成抽象語法樹(AST),之後再轉換成優化的C++代碼,使其速度提高5到6倍,為公司節省了數十億美元。2015年3月他回到中國,加入阿裏巴巴技術保障部,重點攻克阿裏在軟件性能以及Java使用過程中遇到的技術問題。
采訪在園區圖書館進行,四周書籍環繞長窗落地,趙海平看上去顯然剛從另外一場繁忙的事務中抽身過來,但在這場長達1小時47分鍾的采訪中,他一直神采奕奕、興致高昂地談論了各種話題:小時候的趣事、生物和計算機間的痛苦抉擇、HipHop項目中的艱辛……
“計算器有什麼好學的?”
趙海平中學時代就讀於秦皇島市山海關第一中學,學校雖然非常小,但很特別——恰好在天下第一關腳下,所以長城就成了這個學校的一麵校牆,坐在部分班級裏甚至能領略到山海關的雄姿。
在他的那個時代,計算機還是個稀罕物,別說是高中,可能在大學,計算機都很少見。所以當他們北大物理係畢業的校長組織數學好的同學,參加學習計算機的課外活動時,趙海平很是疑惑,“計算器?這個需要學嗎?”事後趙海平才知道,他把“計算機”聽成“計算器”。不過那個時候他真不知道什麼是計算機,並且《計算機報》也是在幾年後才出來,就連當初學習的時候,整個書店也隻有一兩本計算機相關的書籍,而內容早被他們翻爛。
起初學習的過程很原始,“一開始連計算機都沒有,學校雖然已經去買,但要等很長時間。所以學Basic語言時,完全不知道在幹嗎,就純粹硬學,學到最後連循環都學了,還沒見到計算機。”後來計算機到了——是Laser-310,趙海平對這個記得特別清楚,談到這裏的時候,他還繪聲繪色地形容“一按那個鍵盤,還‘嗶啵、嗶啵’響”。趙海平回顧稱,當時的遊戲也很簡單,簡單到隻有小人在屏幕上又唱又跳。放到現在看這哪是遊戲,但在那個時候覺得這很奇特。
小時候學計算機發生了兩件事讓趙海平記憶猶新,一是利用匯編命令打印係統。大家都知道利用匯編命令可以把刪掉的文件再找回來,那個時候的趙海平覺得這很牛,於是去找匯編命令然後到學校實踐,然而卻把整個係統都給打印了。他至今仍很興奮地說到:“蘋果有反匯編的工具,它可以不斷地反匯編操作係統,所以一邊反匯編一邊打印。機房老師不知道這事,但機器卻一直在打印,打印了一宿,把機房的一摞紙全用了,而那個時候的打印紙特別貴……”
另一件事則是,“廢寢忘食”地輸入飛機。當時整個學校隻有一台計算機,趙海平每天中午都是趕緊扒完飯,省出一兩個小時的時間去機房。有次在機房按照雜誌上的坐標輸入顯示飛機。“圖的打印很簡單,實際上就是從這一點到另一點畫一條線,但是它有很多條線,最後能畫出一個特別漂亮的飛機圖。”沒想到快要結束時,有人碰掉了把電線,內容全沒了,大家麵麵相覷,又心有不甘。於是第二天又跑到機房重新輸入一遍,最後看著蘋果綠顏色的屏幕上呈現的飛機,趙海平覺得那種成功的感覺至今仍很興奮和微妙。
抉擇:繼續生物or計算機?痛苦!
如此喜愛計算機,為什麼最後去了北大生物專業?這應該是很多人的疑惑。趙海平稱,沒有選擇最愛的計算機專業有兩個原因:一個是生物在當時太熱門——21世紀是生物的世紀,而當時趙海平高考的分數恰恰很高,“要低一點就能報計算機係,但高一點的全都直接進生物係,所以當時各個地方的高分學生都去學生物了。”第二個原因則是大家對計算機的認識。“那個時候還認為計算機隻是一個工具,不管做什麼,你都會‘玩到’計算機。”大家都把計算機當玩具,不是一個正兒八經的專業。
不過當生物學了很長時間之後,趙海平發現自己還是喜歡計算機,他這麼描述當時自己的感受:“我不喜歡生物,也做不好生物。身邊學生物的人可能不比我更聰明,但他們做得比我好,因為他們熱愛這個專業,願意花很多時間去看文獻做實驗。我更多的是在生物實驗室裏寫程序,找與計算機相關的活……這是一種很別扭的感覺。”於是他決定踏上痛苦的轉行之路。
之所以痛苦,主要是不願意就這麼放棄生物,用趙海平的話來講就是“生物係的機會也很寶貴,而且已經學了這麼久,又不確定自己的將來做計算機會不會更有意思?”另一方麵則是生物實驗室的台灣導師對趙海平格外青睞,他知道趙海平很聰明,但心思並沒放在生物上,不過他仍然希望趙海平能夠繼續把博士讀完……
這些因素讓趙海平一直很痛苦地思考這個問題,直到一件事讓他下定決心轉專業。那時候他已在美國紐約大學,“一上選修的計算機課感覺喜歡的不得了,聽老師講東西都有一種觸動——原來是這樣。”後來選修課的老師也鼓勵他去學計算機,於是他下定決心,並整理自己做過的小項目去申請普林斯頓大學計算機碩士。
半聽半睡狀態下,突然舉手“老師這不對”
進入普林斯頓計算機係後,趙海平如魚得水,門門功課都是A+,學習過程更像是在印證他以前的實踐,並補上自學摸索中所缺失的東西。“來到普林斯頓後感覺特別好,不僅僅是因為終於學了自己喜愛的專業,還有機會和非常優秀的人在一起,覺得特別快樂。”
談起在普林斯頓最大的感觸,趙海平稱,好幾個同學都是當年奧林匹克金牌得主,雖然年齡較小,但都非常聰明和優秀。“所以我們工作一定要進入一家好公司,因為跟優秀的人在一起工作,就自動地有那種很快樂的感覺。”
在普林斯頓學計算機的趙海平同時也很瘋狂:經常打遊戲、做小項目,有次到第二天早上五六點才睡,但發現八點還有課,於是他在那半聽半睡,聽到半途突然醒了,舉個手說老師這不對……在這樣的精神狀態下,他還不忘給老師挑錯,而老師也覺得,這學生挺神奇,一邊睡還一邊提問題。
原本趙海平打算讀完計算機碩士,然後再把生物學博士讀完,但在畢業前的最後一個星期,他就拿到了四個Job Offer。是讀博,還是工作?趙海平又陷入了抉擇,但最後還是聽取了生物實驗室同學先工作的建議。
“現在回想起來,這是在騙自己。”
為什麼?
“一旦幹上計算機這行,生物博士對我並不是特別的重要。”趙海平如此坦言。
不後悔讀生物,非常感謝生物的訓練教他如何係統“偷金子”
對於趙海平改行學計算機,不少人都有誤會,因為那個時候計算機恰好也火了,很多人以為他是因為計算機火了才改行。“其實真的不是這樣子,那個時候MBA更火,工資也更高。也有朋友勸我去讀MBA,但經驗告訴我一定要做自己喜歡的事,不能再跑到第二個不喜歡的行業,不然這輩子就廢了。”而這也是趙海平改行之後,為什麼老是如饑似渴地去學習和工作的原因,因為他老覺得耽誤的時間特別長,心理上老想去補償。
但對於讀了這些年生物,趙海平並不後悔,他稱讀生物的那些訓練非常有用,對他幫助很大。“它教會了我,怎樣係統地去解決一個問題,而不隻是把這個問題解決。”趙海平非常善於舉例子,他打了個比方:如果我們是一群海盜,有一個島有很多金子。本科畢業的學生劃著船弄來一箱金子就很出色;但如果是博士畢業的學生去弄金子,除了弄來金子之外,他還必須帶來一句話才合格——沒必要再去那個島了,金子全被拉回來了。“這就是博士的訓練,它告訴你要係統化的去解決一個問題。等解決問題後,你已經看到問題的所有方麵,等別人再想解決,你已經全部想到。”
趙海平放棄生物學博士學位,雖然有些許遺憾,但他慶幸的是這些訓練沒有白費。
微軟如日中天時去了Facebook
2006年前後,微軟如日中天、風頭正勁,而當時的Facebook全部工程師還不到50人,在這樣的情況下,趙海平離開微軟,去了前景仍不太明朗的Facebook。
離開微軟,主要是兩個原因。一個是微軟當時的流程非常規範,強調人和人之間按部就班做事,非常條理化。這也許是大公司發展到一定階段的必由之路,但趙海平希望尋找節奏更快的平台,“畢竟我在生物上已經耽誤10年了。”趙海平解釋到,“當時的微軟和矽穀公司在文化上還是有明顯差異的, 矽穀文化強調個人的主動發展遠遠大過公司給你規劃好的發展。”另外一個原因則是家庭因素,最終他來到了Facebook。
Facebook的經曆太獨特、珍貴
那個時候Facebook人特別少,隻有40多個程序員,大家都叫工程師沒有分組,當時所有人都擠在一個特別擁擠的辦公室。桌子很小,彼此離的很近,出了問題,一吆喝就行。Facebook用戶數增長的特別快,大家的工作也都圍繞著快速增長帶來的問題進行,“一旦有什麼問題,大家就往上撲,你願意解決什麼就什麼,特別的沒有章法。”趙海平稱,這恰恰和微軟形成一個鮮明的對比——毫無章法,亂到你有時候覺得微軟還不錯,它挺有章法。
趙海平在Facebook待了8年多,他稱無論是用戶的增長、公司上市的奇跡,還是Facebook對整個世界的影響,都太獨特。當初沒有人想到,至少趙海平以及他身邊的同事都沒想到Facebook會是今天這麼大的一個規模,當時隻是看到在不斷增長,並不知道增長之後意味著什麼。獨特也還包括做項目的艱辛,“我們是被逼的把網絡和服務器做到極致,因為我們每省0.1%,就是幾百萬美元,所以必須把東西做到最好。”
現在回頭看這些經曆真太特殊,當年坐你旁邊的人都成了高管,這是一種特別奇妙的感受,“像當年Facebook的的聯合創始之一 Dustin Moskovitz就坐在我旁邊寫過程序,你現在讓他坐在我旁邊寫程序,不太可能!”但當時大家沒有想這麼多,所有人都幹的熱火朝天,討論問題可能會一直持續到十一二點,下班了也可能在工作——網頁怎麼設計、後端應該怎麼做…一大堆意見。
這麼瘋狂的原因很簡單,一個是Facebook用戶不斷地增長,一直在鼓舞著大家;另一個則是這些人都非常優秀——哈佛、CMU、MIT、斯坦福…,每一個人都特別有才、特別有想法。
到阿裏是想擁有另一段獨特的經曆
從Facebook到阿裏,並不是一個很突然的決定。趙海平來之前,已經跟阿裏技術保障的劉振飛、周明、畢玄聊過,對阿裏已經有了整體的了解。
正式接觸是在2014年阿裏IPO前後,阿裏組團來美國,王堅博士和趙海平深入聊了聊。發現技術很對口,需要解決的問題也很新鮮——Java、JVM從來沒做過。他又來了趟杭州,發現杭州挺美、阿裏員工腳踏實地的公司文化很符合他的性格,對阿裏很有好感。
而讓他下定決心回國則是阿裏麵臨的技術難題和挑戰。“在Facebook經曆非常特殊,而阿裏就更特殊——大規模的交易、單天的交易量、雙十一的交易量,不是任何一家美國公司有的,這種獨特性是我尋找的東西。當你去解決這樣的技術難題時,你就會有新的認識:這個量級的問題可以這樣解決,提升一個量級,就要用新的解決方法,最後你就能看到問題的全部。”體會不同角度去看不同的技術難題,對趙海平來說恰恰就是最享受的一件事情。
HipHop不為人知的故事:一開始野心並沒有那麼大
其實最初做HipHop項目時,他們的野心並沒有那麼大,不是一定非要把它轉換成C++,但後來發現,這麼做確實可以提高性能,所以就思考是否可以用工具把整個網站都編譯。
那時Facebook內部有好幾個項目都處於半競爭關係,每個人都仁者見仁智者見智,有人想改變PHP引擎實現,有人想在PHP應用層做調整,有人說可以轉成Java,而趙海平則傾向於保持PHP不變。“之所以傾向於不變,是之前大家已經嚐試過將PHP轉換成其它語言(Python),但四五個人轉,根本趕不上二三十個人寫Code的速度。”另外,團隊裏有很多PHP專家,突然改成Java,讓人怎麼寫代碼?於是趙海平一直在這個領域探索,到最後隻剩下HipHop和轉Java兩種方案。這時大家意見又不一,到底用哪個?討論問題也有了情緒,怎麼辦?用數字說話!誰性能提高大,就用誰,最後HipHop勝出。
線上執行的時候,趙海平內心很忐忑,很怕出現什麼問題。“因為你改的是底層,隻要有一個新問題出來,大家第一反應就是這裏出了bug,事實上十有八九都是應用本身的問題。”當時趙海平對其他團隊的承諾是,有任何問題24小時內一定響應。有一年感恩節,正在別人家做客的趙海平,一個電話就立刻趕回去調試,雖然事後證明也不是底層的問題。“當時我跟團隊說,我們要有阿信賣魚的精神,不論是哪裏的問題,我們都要幫他們debug,贏得別人的信賴。”對於這些,趙海平雖然感覺非常辛苦,但卻又感覺很爽,因為當時他們可能是最熟悉全部應用的團隊。
再回首HipHop,趙海平感慨項目非常艱辛。“最累的時候,我開車都在想怎麼寫Code,一邊開車一邊想,到了公司隻是把腦子裏想好的寫下來而已。那個時候別人跟我說話,我都不大反應的過來,因為腦子一直在想這個東西。沒有辦法,麵鋪的太大了,等於整個程序語言的所有都要去實現。有時也想偷點懶,想著這個數據庫函數這麼冷門,肯定沒人調用,先不做它,結果第二天就有人來找你……”
雖然過程很痛苦,但痛並快樂著。趙海平找Bug每次都很快,半小時、一小時就能找到。但有一次Bug太底層,花了十幾個小時才找到,最後找到Bug跟大家解釋怎麼回事時,“大家聽到我說為什麼還都聽不明白時,那快樂真的很難用語言形容。”趙海平接著補充到,“其實人有的時候就是喜歡解決大問題、大影響的那種快感,希望自己做得工作特別有意義——擲地有聲的那種。”
趙海平指出,如果有些活是重複性的,一定要思考怎麼才能偷點懶,花點時間去想,你就能比別人快。
談到即將在阿裏的工作,趙海平稱,他不會急於跳進很具體的東西裏去優化。他首先會從整體上做剖析,分析阿裏各方麵軟件的運行情況——究竟用了多少資源。看清楚問題,才能鑽進去優化,也隻有這樣才會事半功倍,才能真的找到最大優化的那個點。
不做剖析就去優化是一個誤區,你花了特別大力氣優化,速度提高一百、一千倍,但整體上可能還是沒有效果,因為這一塊性能隻占整體的0.1%,你提高一萬倍、甚至把資源占用降為零,最後你也隻能提高0.1%。
優化一定要用數據、效果說話,有個誤區是有人會認為某種語言就是比其他語言強,所以優化上總是選擇某語言。但在實際場景中不能這樣,比如:不是說C++一定會比Java執行的快,在有的情況下C++的速度可能和Java一樣,甚至比它慢。所以在優化的時候,一定要用數據說話,不能憑著自己的技術信仰做決策。優化的方式可能仁者見仁智者見智,但最關鍵的是大家認同這個問題,然後用各種方法試,誰的效果好,就用誰。
在性能優化上,一定要迎著問題走。不少人看到問題後,會想辦法繞開問題——不調用或其它做法,但專家會迎著走,想辦法解決問題。比如說網絡延遲很高,專家會鑽進去尋找延遲的原因,網卡有問題就解決網卡,軟件有問題就改軟件。趙海平總結到:“越迎著問題,問題可能解決的就越好。”
優化上的取舍難、行政難
在性能優化上除了一些誤區之外,還有一些其他困難。其中一個就是取舍的問題,知道怎麼優化,但是有代價,比如提升了一個地方的性能,可能影響了另一處的性能;或者今年和明年的情況完全不一樣,今年是利大於弊,但第二年可能就弊大於利,這是取舍難問題,要想解決就必須時時跟蹤係統不斷地做調整。
趙海平看來,最難的就是整體性慢。“整體性慢就是哪都不慢那麼多,但是哪都慢,這才是最要命的一種情況。”如果遇到這種情況,就要仔細想想更底層的東西,究竟是什麼原因讓它普及性的慢?這個時候也許你能發現更大的問題。
趙海平比喻稱,這就像有些病人的病根很深,所以表現出各種各樣的症狀,但各種症狀的根可能是在一個地方。“這就是我想說的:要想係統地提高性能,有時候要做架構上的大調整,進行深入的過程性優化,而不是一個具體、很有局限性的優化。”不過走到這一步,就會出現新的挑戰,“不僅僅是技術上的難,還可能會出現行政上難——你如何去說服別人把整個係統做大的調整。”趙海平感慨到,“這可能會影響到線上的服務質量,換那麼多新東西,大家也不知道能省多少,這個有時很難做。”
很多技術專家擅長解決技術上難題,那遇到行政上難如何解決?趙海平也給出了他的看法。“項目剛開始野心做得不要太大,從小的地方做起,讓人家看到一些實實在在的好處,然後你就能做下去。而能滾多大,就要看它是不是每一步都能帶來很大利益,如果滾不大,就別做了。因為你確實沒有辦法去說服別人,不能說眼下沒有利益,我現在花錢,過一年省錢…這個很難實現。”
對語言之爭的看法:“有人會去爭論錘子和斧子哪個更好使嗎?”
聊到程序員對語言信仰的問題,趙海平稱,不光國內,在美國也一模一樣,這個可能就是程序員的特點,喜歡和人爭論哪個語言更好用。從某種意義上來說語言也是一個流派,喜歡同一個語言的人,往往會有比較明顯的共同點。
但他很疑惑語言之爭:“有人會去爭論錘子和斧子哪個更好使嗎?它不是要根據你做的事來定嗎?”趙海平認為:“不同的語言像錘子和斧子一樣,沒有哪個可以把所有的問題都解決好,每一個語言都是在解決某一個特定的問題裏有它的長處。這個恰恰是語言創造者的思路,他有自己認定的語言要解決對應問題的範疇。你偏要去爭論某語言就是絕對的通殺,比其他語言樣樣都好,這個肯定不對。當然你可以有個人的喜好,但不能非要改變別人的想法,因為語言本來就是百花齊放、百家爭鳴。”他還指出,語言之間的差異,隻有在解決某些具體問題時可以比較出來,而這些恰恰就是語言獨到的地方。
如果非要說哪個語言類似於萬能語言的角色,趙海平認為目前應該還是C和C++。“它很底層,不做太多假設。越是這樣的語言,它越更加通用一些。隻要語言做了假設,它就會更上層一些;隻要有假設,就會放棄掉一些東西,因為假設讓它更加有局限性。”像Java、PHP、Python等其他語言,它都提前實現了一些東西。在幫你提前實現東西時,它已經做了假設。“比如說Java Applet定義已經做了假設,PHP裏數據類型已經做了假設,這實際上相當於定了一個框架,隻能用它那一套內存管理和執行環境。但在C和C++裏麵沒有這些問題,你自己可以定義這些東西。這也就是為什麼越往後端的東西,就越要拿C和C++寫的原因,因為對係統要求獨特,不像高層的軟件用這些假設沒問題,底層的東西很多時候是不能用假設。”
但缺點也在這裏——你要花時間定義,可能你定義來定義去還沒有人家Java、PHP或Python等其他語言好。
對開源的認識和思考
趙海平的HipHop給Facebook帶來了很大影響,為了惠及他人和社區,最後把它開源了。那他對開源有哪些認識和思考?
就開源還是不開源,趙海平拿Facebook和穀歌舉例。他稱,Facebook開源做的特別多,而Google做得挺少。主要原因是Google有很多關鍵、核心的技術不能開源,因為一旦開源可能會給它帶來競爭壓力,而Facebook沒有這種壓力,因為就算拿走它的源代碼,也不意味著能夠複製出一個Facebook。所以趙海平認為,隻要公司不受影響,你就可以開源。而開源帶來的驚喜和好處很多,“如果很多人關注你項目,至少說明做的方向是對的,別人拿去執行,反饋過來的問題相當於幫你做QA。如果人家特別感興趣,深入研究、甚至幫你做修正,這等於免費幫你打工……”趙海平還發自內心地談到,很多開源社區的人思考問題方式很獨特,和他們聊天很能擴展你視野。
總體上來說,開源是一個利大於弊的事情,雖然它可能會耗費你很多時間和精力,但在耽誤時間的背後,它有巨大價值:學術上帶來名氣、能提高你的業務水平(別人的指指點點就是學習和提高的過程),而從大的角度來看,也給公司創造了技術開放、樂於回饋的良好形象。
專注才能走得更遠
在很多人眼中,趙海平已然是一名偉大的計算機科學家,所以在采訪中記者也就他如何走到今天的高度以及生活中的一些習慣進行了交流。
趙海平很謙遜的表示:“什麼是偉大的科學家?偉大的科學家必須能夠為科技帶來革命性的變化,例如創造了新型的語言或操作係統,我隻是做了一個項目,而且隻是對Facebook意義很大,所以還差很遠。”他又繼續分享到,不過要想做成事,心態很重要。“我來的時候就跟同事聊天說,要忘記過去的成績,腳踏實地做事,可能你比別人有經驗,但還是要紮紮實實展開工作,要把自己的注意力轉移到要解決的技術難題上、轉移到個人的知識擴展上。你專心的去做這些事情,不去想太多其他事情時,可能會走的更遠,更好。”
他還就專業的程序員話題舉例,“我不相信麥迪(Tracy McGrady)在最後投三分球時,他腦子裏會想比分、輸贏、會去想這場比賽能給他帶來多少獎金,他不會去想這些,隻要想了三分球就投不進去。他要的是那種完全投入的境界和狀態,隻有在那種巔峰的狀態,他才能把球打的最好。”任何一個職業運動員都懂得這一點,專業的程序員也同樣需要做到。隻要做得好,別人就會認可,一切東西都會水到渠成。
高效率訣竅:一整段時間非常重要
一個人要想取得成就,一方麵跟他的天賦有關,另一方麵他的習慣也不可避免地起了部分決定性作用。在個人習慣上,趙海平非常強調專心、強調一整段時間。他寫程序的時候希望至少四個小時內不被打擾,他也不去看手機、Email、接打電話、參會等。這是一個高效率的訣竅,“因為寫程序是高度專注的腦力活動,你一被打擾就轉出去了,再轉回來不僅要花時間,而且這種轉換消耗特別大,所以要盡量避免或減少被打擾。這也是一個很好的用腦習慣,隻要養成這個習慣,有的時候你會發現寫程序也是一種休息——當你進入狀態時,你不會覺得累。”
另外,每個人也要總結自己一套高效率的工作方式,比如說用什麼樣的編輯器,在這個編輯器下敲什麼樣的命令可以省時間,盡量多思考一下。“這方麵我比較變態,我有很多的命令都是一個字母。‘啪’,敲一個字母命令就出來。”趙海平指出,並不是非得要這樣做,他隻是想強調:如果有些活是重複性的,一定要思考怎麼才能偷點懶,讓複雜的事情三兩下就做完,花點時間去想,你就能比別人快。
對在阿裏的未來:會去思考怎樣做這些貢獻
在趙海平那封告別信中,他曾期待到,他想要中國成為軟件技術最好的地方,想要阿裏成為最值得工作的地方。為了這個目標,他會怎麼做或進行哪些努力?
趙海平稱,一方麵希望把技術工作做好,期待能給阿裏帶來整體性能的提高,能夠真的建立一整套剖析係統,大家都能夠根據這個係統做軟件上的調整,從而提高整體性能、節省機器。
另一方麵希望帶動大家對技術的愛好,能夠帶動一批人、帶動氣氛,並且也期待有一幫好哥們。如果還能進一步的話,就做一些開源,給阿裏創造開源的好形象,帶動整個中國的開源氛圍,提高各個公司對相關技術上的認識……
而在未來,他有可能也會做一些中美技術交流上的牽線搭橋。他在最後特別強調稱,“不希望大家把這話理解成我會做到這些,隻是想和大家表明:我會去思考怎麼樣去盡量做這些貢獻。
結束語
采訪最後,記者還就2010年PHP之父Rasmus Lercbrf對HipHop的一個評價,詢問了趙海平的看法。Rasmus Lercbrf當時評論:不能把HipHop當做銀彈,它確實很酷,會成為某些網站很好的選擇,但對於很多Web應用而言,執行速度並不是主要因素,所以不能對任何項目都適用。
趙海平回應稱,Rasmus Lercbrf說的非常正確。“他想說的意思就是:要先剖析你的軟件,然後再做性能提高,他表達的和我說的是一樣的。”他進一步解釋到,“之前Facebook軟件剖析發現PHP的CPU用的很多,所以HipHop才管用。但如果你剖析軟件,發現更多的時間花在網絡等待上,而沒有花什麼CPU,那麼用HipHop怎麼可能提高你的性能?”趙海平還表示,Rasmus Lercbrf的評論說在了一個敏感的時刻——正好在我們發布時,這看起來似乎有點負麵,但並不是這樣子。“他說的非常科學化,就是想告訴大家一定要完完全全理解你軟件,究竟是網絡時間,還是CPU時間,這是截然不同的兩個概念,在性能優化上也是截然不同的途徑去解決。”
本文出自CSDN,原文鏈接
最後更新:2017-07-18 20:35:39