2011年4月28日 星期四

8. Scala 的企圖心,也是它的特性--效能

一個有彈性的語言,通常效能不會太強調。這種特性,你可以在很多 script 類型的語言中發現。

這其中的原因,有些是因為要維持彈性,所以很多東西只能 runtime 才來檢查,導致效能較差,有些是因為要動態編譯,所以自然就慢。

Scala 呢?會不會功能變大了,所以效能也變慢了。若是變得太慢,可會有許多人不想移轉過來的,現在還有這麼多 C 的使用者,效能考量是主要原因之一。

這個考量,Martin 早就知道了,在 Scala 的 compiler 中,會盡量編譯出最好的 bytecode 出來。

根據實驗數字,解決同樣一個問題,使用 Java 與使用 Scala 撰寫出來的程式,效能差不多,兩者在伯仲之間。不會像 Groovy 那樣,與 原有 Java 的解決方式,有很大的效能落差。

所以,你若是Java的愛用者,不需為考量 Scala 的效能 而不敢進入 Scala 的世界。

沒有留言:

張貼留言