Perl vs Python vs Ruby vs PHP

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

http://xodian.net/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-P...
Собственно сам перевод:



Я просматривал пару тестов производительности PHP (к примеру этот), и они сравнивали, в основном, объектно-ориентированый подход с процедурным. Я решил написать свой набор тестов для хорошо-известных языков веб-разработки которые были под рукой: PHP, Python, Perl, Ruby. Мой тест также тестирует ООП и процедурный подход в таких аспектах как: скорость выполнения и количество строк кода. Я также сравниваю использование оперативной памяти для каждого из четырех языков.



Конечно нельзя вынести много пользы из таких тестов, потому как они работают не в условиях «реального мира» и не выполняют ежедневные задачи. Важно помнить что мы изучаем разнообразные языки программирования не изза причуды, или изза того что какие-то языки лучше других, а потому что некоторые языки лучше других при выполнении определённого типа задач, и хорошо что мы можем выбирать правильный инструмент для работы.



На чем тестируем:

CPU: 64-bit AMD Sempron 3000+ @ 1 GHz
OS: Gentoo Linux (x86-64) w/kernel: 2.6.22-gentoo-r6
RAM: 1 GB total



Версии языков:

PHP: 5.2.5-pl0-gentoo w/suhosin
Perl: 5.8.8
Python: 2.5.1
Ruby: 1.8.6 (2007-12-03 patchlevel 113)


Все тесты были запущены последовательно, таким образом каждому досталось тоже количество памяти и процесорного времени.



Метод

Баш скрипт для автоматизации тестирования и записи результатов. Перловый скрипт использовался чтобы усреднить время запусков.


Тестовые Скрипты


Измеряли двумя тестовыми скриптами:


Hello — Выводит «Hello World» в stdout.
Inc — увеличивает переменную на 1, начиная с 0.


Каждый скрипт запущен миллион раз по 10 заходов, чтобы получить среднее.



Все скрипты для теста, а также результаты в виде таблицы Open Office можно скачать тут.


Результаты:


1
2
3
4


Заключения:
Задачи конечно не из тех с которыми вы встречаетесь каждый день. Однако по ним можно понять что самым медленным способом является объектный, который в наши дни наиболее распространён. Процедурный подход дает больше производительности. Что-же, это было вполне ожидаемо.
Хотя по большому счету скорость выполнения больше зависит от того как это написано, а не на чем. По тесту самым производительным оказался перл, он также потребовал меньше всего памяти.



Изза большого количества итераций (1 миллион) вы можете видеть разницу в скорости для таких маленьких программ. Для больших проектов такие различия могут быть более чем заметными, особенно если вы используете перл, однако как я сказал все зависит от того как вы еще это напишете.