пятница, 21 февраля 2014 г.

Языки программирования: скорость

В параллельном тексте (предыдущее сообщение ... и ещё будет) делается  сопоставления внешнего вида идентичных кодов на разных языках программирования. Пользуясь случаем, любопытно бы сравнить и скорость выполнения полученных кодов.

Конечно, такое сравнение очень условно, оно зависит: от класса и конкретного вида решаемой задачи, реализации языкового инструмента (компилятора, интерпретатора), версии этой реализации, степени используемой оптимизации (для компиляции) и т.д. Но это и не есть сравнение скоростей, это есть сравнение порядков скоростей, которые могут отличаться, как увидим, на 2-3 порядка.

Для сравнений выбрана задача вычисления чисел Фибоначчи, которую часто используют в этом качестве - она позволяет регулировать вычислительную сложность задачи в очень широких пределах.

Полученные результаты описываются в тексте. Пока в сравнении охвачены языки:

  • C
  • C++ (GCC)
  • C++ (Clang, LLVM)
  • Java
  • Perl
  • Python
  • Ruby
  • JavaScript
  • PHP
  • Lua
  • bash
  • Go
  • Ocaml
  • PureBasic
  • Scheme
  • Haskell

Ну вот пока и всё...
Текст и архив примеров кодов можно взять здесь:

- на Google:
Это текст (в формате OpenOffice), и архив к нему. 

- на Yandex:
текст и архив