2011-10-24 27 views
-1

我們正在研究計算引擎,目前它都是基於C#的。該引擎基於來自前端網頁的輸入執行一些重型數學計算。前端和後端都需要在雲中運行。C#vs(已編譯)計算代碼的PHP性能?

現在,有沒有任何公開可用的基準比較C#到(JIT編譯像Zend)PHP的性能爲計算性能?我是不是指的是前端/動態網頁的性能 - 有關該主題的幾個公佈結果。我主要關心的是後端計算(沒有關閉ASM/C++二進制路由)。

不知何故,我懷疑PHP並不是爲此設計的,但是當一些工程師聽到'在線計算引擎'時,他們開始想知道爲什麼我不使用PHP。所以我儘管我會向更廣泛的社區提出這個問題。 PS:請不要說「我愛(PHP ..或C#)」因此......「。這不是對「偏好」的要求。讓我們爲計算性能的特定目標保持科學。

+4

足夠簡單地嘗試一些基準。從C#中提取引擎的核心,用PHP寫出來。通過循環運行幾百萬次,並查看哪一個更快。您可能會發現兩者的計算速度大致相同,但PHP在內部執行各種類型轉換/轉換時會有略高的開銷。 –

+1

由於靜態類型的原因,C#比PHP快得多,甚至編譯過PHP。 (除非你用'dynamic'填充你的C#代碼,在這種情況下它幾乎相同) – Dani

+0

我的想法是,你選擇的雲提供者比語言選擇有更多的影響力。 – Pleun

回答

3

爲什麼你會信任任何東西,但你自己的基準?在每個編譯,運行和時間中實現簡單但冗長的計算。您可能需要運行幾次才能獲得足夠準確的時間。儘量不要讓自己的代碼重複一次,或者其中一個編譯器(可能是C#)會優化一些東西,你會得到偏斜的結果。

這不是那麼多工作。

+0

我一直在尋找看看有人已經這樣做了。如果他們的結果看起來「有趣」,我們將通過移植C#=> PHP中的部分開始深入研究。如果沒有東西出現,我可能會做你的建議。 – DeepSpace101

+0

它應該很簡單 - 在不同的環境中進行設置和編碼將爲您提供更多的數據點來決定您的決定而不是簡單的性能。 –