У меня недавно был друг, который сказал мне
: "Смотрите, Perl никогда не был спроектирован, чтобы быть быстрым"
Соответствующую информацию, которую я могу найти, можно найти в Wikipedia :
Язык предназначен быть практичным (простым в использовании, эффективным, полным), а не красивым (крошечным, элегантным). , минимально).
Но это напрямую не говорит о скорости. Я думаю, что со всей необходимой обработкой текста скорость исполнения действительно имеет значение для такого языка, как Perl. И со всем странным синтаксисом элегантность никогда не была целью, я согласен.
Есть один важный аспект, который следует учитывать: алгоритмы. Секретное оружие Perl — это алгоритмы, поддерживающие определенные функции языка, и библиотека CPAN.
Хорошие алгоритмы превосходят грубую скорость выполнения нетривиальных задач. Обычно выбор и реализация алгоритмов на C-подобных языках требует больше усилий, чем на Perl. Это означает, что за полдня написания небольшого инструмента версия Perl часто превосходит версию C, потому что было проще создавать хорошие структуры данных с помощью хэшей и с использованием функций, предоставляемых языком и библиотеками.
Как только сценарий Perl запускается (т.е. после загрузки и компиляции всего), он может работать очень быстро. Это гадкая компиляция каждый раз немного противна.
Однако я считаю, что людям не нужно беспокоиться о том, насколько быстрым может быть Perl. Они тратят все свое время на внедрение глупых проектов, которые выполняют гораздо больше работы, чем им нужно, на непонимание ключевых технологий или просто на тупость. Я нередко помогаю кому-то заставить их вещи работать на несколько порядков быстрее, просто настраивая нужные места. Однако это не относится к Perl. Люди имеют эту проблему с каждым языком.