您好,登錄后才能下訂單哦!
本篇文章為大家展示了究竟是什么令微軟為Windows改進PHP,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
微軟正在努力改進PHP在Windows上的運行速度,看來微軟對開源社區日漸支持。從另一方面看,51CTO從***一期編程語言排行榜上看到,PHP份額在逐步上升。
微軟開源社區主管Garrett Serack最近接受了媒體采訪,談論了微軟為實現這一目標所做的努力。
在Windows部署PHP應用性能欠佳
數年以來,PHP開發者或許可能會選擇在Windows上進行開發工作,但卻很少有人選擇將PHP程序部署在Windows上。Serack表示,出現這個結果不是沒有道理的。他表示,“當用戶在Windows上高興的運行一個PHP應用時,IIS可能會突然崩潰,而且沒人知道其原因何在。現有PHP驅動器基于老協議,性能不高。而原因在于PHP社區缺少完善它所必需的信息。”
Serack認為,自從微軟開發者了解到使用PHP語言可以開發第三方應用,微軟就面臨著一個新問題。微軟逐漸開始意識到,開發者之所以不在Windows上部署PHP,原因是他們無法使用,并且微軟內部的一部分人開始準備做出改變。自此之后,Serack的大部分時間都花在這個工作上。
微軟改善Windows對PHP的支持
首先鼓勵微軟改善Windows對PHP支持的是SQL Server團隊,它希望讓現有開源應用可以更好的使用SQL Server驅動。也就是說,他們希望開發者在Windows上部署PHP應用時,使用SQL Server而不是MySQL,或者說至少是為了減少人們對自己的批評。2007年10月,***新改進版的Windows PHP驅動發布。但卻并未被開源社區所接受,于是SQL Server團隊又再次對其進行修改,以實現人們真正想要的功能。
圖 PHP運行在Windows Server 2008下:性能提高130%
非常自然,該團隊希望把修改后的代碼反饋給開源社區。據Serack表示,這意味著需要和微軟法律團隊進行多次溝通,才能獲準共享該代碼。這個法律過程花費了數月時間,因為對微軟來說,開源代碼依然是一件比較新鮮的事情。但并非微軟自己才面臨這種挑戰,正如Serack所指出的那樣,“每一個向開源社區共享代碼的大公司都要經過類似的法律審批過程。”
不管怎樣,在去年的OSCON大會上,微軟向Adobe和其它項目提交了代碼。Serack表示,“大約去年這個時候,微軟開源軟件實驗室工作人員希望加速PHP在Windows上的開發。”當時Pierre Joye有空閑時間,因此微軟讓他與Serack共同實現以下目標:在Windows上完善PHP。
同時,Serack開始完善Windows PHP生成過程,重新為其編寫腳本。由于涉及到如此多其它項目,他不得不創建工具后又重建更多工具。他表示,“我希望包含所有DLL。”他創建了一個跟蹤工具,來跟蹤正在被創建的內容,并創建了全新的Visual Studio項目文件。Serack欣慰的表示,“再也不需要make文件和定制批處理腳本了。”
僅僅通過上述改進,核心解釋器基準測試的速度與PHP在Linux上運行速度的差距就縮小到1%以內。接下來,Serack創建了一個二進制工具,并通過它運行真實數據(也就是真正的PHP腳本),提供規范的數據給編譯器。配置文件導引優化(Profile-Guided Optimization,PGO)是Visual Studio最酷功能之一,這一點已經被.NET開發者朋友所證實。這使其核心解釋器的速度快了18%左右,而且未修改一行代碼,只是修改了生成過程。
完善生成過程并不是一件沒有意義的任務。讓每一個模塊使用相同且正確的設置被編譯需要花點時間。Serack表示,“如果一個庫使用不同的優化,它就不正常了。”
他表示,Joye還更換了一些老的程序庫。舉例來說,POSIX正則表達式函數庫已經有大約10年歷史。Serack表示,創建新版依賴庫對性能有較大影響,但同時對可靠性也具有較大影響。
現在并非說該任務已經完全完成。所謂開源項目,或開發項目,就如同寫長篇小說一樣,編程永遠不會完成,只有被放棄。Serack表示,“我們還正在進行一些努力。”舉例來說,與Linux相比,Windows的文件系統實現有不同之處。而且他承認,“在現實世界應用中,在性能方面我們還難言成功。但是至少我們已經擁有了這個真正穩定的平臺。”
有人或許認為:“微軟?開源?承諾?你一定是在開玩笑。”Serack本人最初也不輕信這種態度。實際上,微軟在進行Windows上的PHP改進時,故意保持非常低調的態度。Serack表示,“我們不想得罪別人,我們的目標是讓PHP很好的運行在Windows上。我們希望對PHP作出共享,而不是分裂它。那是我們連想也不會想的事情。我們通過共享代碼來參與到社區中,而非控制社區。”
Serack的目標就是簡單的讓PHP更好的運行在Windows上。他對開發者的反響感到激動,“太棒了!我已經擁有一個Windows服務器。現在我不用再買一臺來運行我的PHP應用了。”
Serack十分歡迎來自PHP社區的幫助和建議;他希望人們能夠發表自己的觀點,談談如何在Windows上更好運行PHP,尤其是歡迎開發者提出能夠幫助跟蹤問題和優化的意見。他表示,“如果有錯,讓我們一起修改。”
Serack表示,“我們已經讓人們做出選擇,現在他們可以在Windows上部署PHP,并能夠正常運行它們。”
上述內容就是究竟是什么令微軟為Windows改進PHP,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。