2010-11-11 4 views

ответ

2

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

2

Компиляция программы Perl с опцией, которая может быть выполнена, может занять некоторое время. Вы можете защитить некоторые из этого времени, используя perlcc с любым из своих серверов. Это будет так или иначе сериализовать скомпилированный опцион и сделать загрузку позже, при выполнении скомпилированного двоичного файла, несколько быстрее. Я вижу, что это полезно, например, в средах CGI, для которых, однако, доступны гораздо лучшие альтернативы, позволяющие избежать затрат на запуск.

Вопреки распространенному верю, perlcc не делает его очень трудно перепроектировать в результате двоичный, как описано в How can I reverse-engineer a Perl program that has been compiled with perlcc?

+0

могли бы вы рассказать об альтернативах, чтобы избежать затрат на запуск для CGI? – Konerak

+2

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

+0

Наша кодовая база (довольно сложное веб-приложение) использует FastCGI. Работает хорошо. mod_perl - еще один выбор. – GeneQ

Смежные вопросы