Быстрый emacs shell-mode?

Я запускаю интерактивную программу, которая выводит около 10 МБ (на самом деле, ближе к 100 МБ) текста ASCII. Производительность в оболочном режиме emacs (Aquamacs) неприемлемо медленна, требуя часов для этого. Я выполнил сброс-disable-undo, который ускоряет работу, но он все еще слишком медленный.

Я попробовал запустить программу с скрытым окном буфера, но программа закончила, и когда я повторно выбрал буфер, мне все равно придется ждать часа, пока вывод будет запущен.

Есть ли какая-нибудь команда, которую я могу дать emacs, чтобы сделать производительность приемлемой? Я не понимаю, как это возможно даже для режима оболочки: это многоядерная машина емкостью 32 ГБ с 64-битными современными многоядерными процессорами и SSD.

Ответ 1

Задайте переменные comint-move-point-for-output и comint-scroll-show-maximum-output на nil. Это предотвращает непрерывную прокрутку буфера до конца вывода, что требует частых повторов.

Ответ 2

Является ли ваша интерактивная программа запущенной в оболочном режиме оболочкой script?

Можно ли развернуть процесс оболочки непосредственно оболочке (не в режиме оболочки в emacs), то emacs просто загружают результаты при завершении?