一個有彈性的語言,通常效能不會太強調。這種特性,你可以在很多 script 類型的語言中發現。
這其中的原因,有些是因為要維持彈性,所以很多東西只能 runtime 才來檢查,導致效能較差,有些是因為要動態編譯,所以自然就慢。
Scala 呢?會不會功能變大了,所以效能也變慢了。若是變得太慢,可會有許多人不想移轉過來的,現在還有這麼多 C 的使用者,效能考量是主要原因之一。
這個考量,Martin 早就知道了,在 Scala 的 compiler 中,會盡量編譯出最好的 bytecode 出來。
根據實驗數字,解決同樣一個問題,使用 Java 與使用 Scala 撰寫出來的程式,效能差不多,兩者在伯仲之間。不會像 Groovy 那樣,與 原有 Java 的解決方式,有很大的效能落差。
所以,你若是Java的愛用者,不需為考量 Scala 的效能 而不敢進入 Scala 的世界。
根據實驗數字,解決同樣一個問題,使用 Java 與使用 Scala 撰寫出來的程式,效能差不多,兩者在伯仲之間。不會像 Groovy 那樣,與 原有 Java 的解決方式,有很大的效能落差。
所以,你若是Java的愛用者,不需為考量 Scala 的效能 而不敢進入 Scala 的世界。
沒有留言:
張貼留言