По свежим следам было бы неразумно не сделать сразу сравнение скорости выполнения реализаций одной и той же задачи на разных языках программирования.
Но задача, на которой обкатывались там примеры не годится:
- во-первых, она слишком сложная для измерения производительности
- во-вторых, она интерактивная, предполагает ввод пользователя ... её всё равно переделывать.
Нужно выбрать простую задачу.
В принципе, любые сравнения производительности приложений на разных языках довольно бессмысленно, потому что очень сильно зависит от характера задачи: одни языки будут иметь относительно лучшую скорость на счётных задачах, кто-то на вещественных, кто-то на целочисленных; другие языки - на разборе текстовой информации, регулярных выражениях, третьи - на синтаксическом и лексическом анализе... Т.е. оценивать скорость - бессмысленно, можно оценивать порядок скорости: если компилирующий C экспериментально быстрее интерпретирующего PHP в 130 раз, то тут не важно это 100 раз, или 200 раз - это 2 порядка. Но если так, то почти всё равно какую выбрать задачу для оценивания.
Второй критерий - задача должна бы иметь как можно большую степень роста вычислительной сложности от её размерности. Лучше всего бы- экспоненциальную степень сложности... или выше . Как раз то, чего все боятся и все борются.
Мне нравится в этом смысле задача вычисления чисел Фибоначчи ... только когда она алгоритмируется "в лоб", без всяких оптимизаций:
Код: Выделить всё
fib( N ) =
... 1 если N < 2
... если N > 2 то fib( N - 1 ) + fib( N - 2 )