Слід також зазначити, що ви не можете виміряти / кількісно оцінити продуктивність мови програмування . Найкраще, що ви можете зробити, це виміряти ефективність конкретної реалізації мови на певних платформах, запускаючи конкретні програми.
Отже, коли ви запитуєте про "найшвидшу функціональну мову", що ви насправді запитуєте про найкращі з поточних реалізацій мови (мов).
@ коментар igouy підкреслює, що існують інші заходи щодо ефективності мовної реалізації; наприклад, час складання Але це не змінює факту, що час роботи програми - це (непрямий) показник реалізації мови, а не міра самої мови.
Розглянемо, наприклад, Java. Припустимо, я пишу однопотоковий орієнтир, використовуючи виключно мовні функції класичної (Java 1.0) Java. Якщо я компілюю і запускаю за допомогою JDK 1.0, я отримаю низьку продуктивність ('оскільки у JDK 1.0 не було вбудованого компілятора коду). Якщо я перейду від JDK 1.1 до ... JDK 1.7, я, швидше за все, отримаю прогресивно кращі результати. Але це не пов'язано зі змінами мови Java ... тому що мій орієнтир використовує той самий підмножина мови. Скоріше, прискорення відбувається за рахунок вдосконалення компіляторів, системи виконання та / або впровадження бібліотек класів. Це все питання щодо впровадження .
Інший момент полягає в тому, що ці відмінності в реалізації можуть бути дійсно значними (наприклад, порядками величини) для однієї мови. Тож той факт, що найкраща реалізація для мови X швидша, ніж найкраща (або лише) реалізація мови Y, не обов'язково говорить вам багато про саму мову.