2015-06-18 53 views
1

一般來說,我們談論語言速度之間的比較。這實際上意味着什麼?我很多次聽說C很快。 C如何快速? Ruby不是很快嗎? JavaScript有多快?哪個更快,Ruby或Python?比較不同語言的性能和執行速度

回答

1

紅寶石對C

Ruby是動態類型的語言,而C是一個靜態類型語言。 如果在編譯時已知變量的類型,則語言是靜態類型的。這在實踐中意味着你作爲程序員必須指定每個變量的類型。示例:C,C++

如果在運行時解釋變量的類型,則語言是動態類型的。這意味着你作爲程序員可以寫得更快一點,因爲你不必每次都指定類型。例如Ruby。

動態類型語言一般是緩慢的,因爲:1。 編譯Ruby代碼是緩慢的,因爲紅寶石的方式處理反射,特徵如從整數到大整數自動類型轉換,以及缺乏靜態類型的使構建高效的編譯器Ruby極其困難 2.動態語言在運行時有更多關於系統的信息,可用於優化代碼。但作爲回報,它會影響性能,因爲需要跟蹤這些附加信息。

的JavaScript Vs的紅寶石

的JavaScript和Ruby有兩個不同的目的服務。當一個(通常不耐煩的)人在等待時,JavaScript必須被實時下載,解析,編譯和運行,當一個人正在與之交互時,它必須運行,並且在一個不受控制的客戶端可能是電腦或手機的環境。它必須有效纔能有效地在這些條件下運行。 Python和Ruby運行在由開發人員/部署人員控制的環境中。對於這些語言,庫特性比速度優化更受歡迎。

任何更正,建議,意見?

+1

一些靜態類型語言支持類型推斷:這意味着程序員通常不需要指定類型(雖然這樣做可能有用)。 –