Как прекратить оценку большого результата реплирования, приводящего к замедлению слизи с замыканием хвоста? - PullRequest
14 голосов
/ 12 декабря 2011

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

Простым примером большой структуры данных является сохранение файла и его печать (это может быть даже довольно маленький файл).

Похоже, это происходит как в Win7, так и в Ubuntu.

Буду признателен за любые идеи о том, как это остановить и почему это происходит!

Ответы [ 2 ]

8 голосов
/ 13 декабря 2011

Когда я сталкиваюсь с этой проблемой (что часто случается), я просто очищаю буфер repl. Вы можете сделать это с помощью C-c M-o или с помощью «Очистить буфер» в пункте меню «REPL». Это не перезапускает repl, и история команд и тому подобное не затрагиваются.

3 голосов
/ 17 декабря 2011

Одним из способов управления объемом информации, выводимой из REPL, является использование самой clojure с помощью переменных *print-length* и *print-level*.

...