разархивируется через ZipArchive быстрее, чем с помощью exec() в php?

Я пишу приложение, которое должно будет разархивировать загруженные пользователем архивы. PHP предоставляет класс ZipArchive, но также должна быть возможность разархивировать с помощью unzip через exec(), мой вопрос: что предпочтительнее с точки зрения производительности и масштабирования?


person Bala Clark    schedule 20.04.2010    source источник
comment
Один использует напрямую связанную библиотеку, другой вызывает внешний двоичный файл (через новую оболочку), который должен загрузиться, выполниться, а затем выйти. Как вы думаете, что будет быстрее? :)   -  person Brian Roach    schedule 20.04.2010


Ответы (1)


Если вы используете php, я думаю, это будет онлайн-приложение.

Как намекнул Брайан, библиотека, скорее всего, будет быстрее, поскольку у нее гораздо меньше работы.

С другой стороны, если вы действительно хотите знать наверняка, просто попробуйте. Такие вещи, как параметры компиляции для ZipArchive и распаковка двоичных файлов, могут иметь большое значение.

Вы также должны рассматривать распаковку как фоновую задачу с некоторым ajax, чтобы предупредить, когда это будет сделано, поскольку распаковка может быть долгой задачей.

person kriss    schedule 20.04.2010
comment
спасибо за предложения, обязательно попробую оба варианта с разными настройками. - person Bala Clark; 21.04.2010