Правильное ощущение, визуальное отображение хода процесса всегда в несколько раз замедляет сам процесс. Возьмите тот же midnight commander при копировании файлов, и cp в консоли. Даже просто запустите в консоли tar для архивирования большой директории с опцией v и без нее, и почувствуйте разницу.
С другой стороны - если процесс очень длительный, как понять, идет он, или стоит на месте?
Как вариант - запрос на запуск должен запускать параллельный серверный процесс . Сейчас ведь есть вроде как развивающаяся панель уведомлений(колокольчик). Запускается серверный процесс и пишется в уведомления, что процесс запущен. Сам процесс, возможно, периодически будет писать в это же уведомление - процент выполненного. По завершении - также может вывести и возникшие ошибки.
Примерно по такому принципу у меня работает модуль фоновых задач.