Существуют ли какие-либо ранее установленные тесты для самого Emacs?


10

(Этот вопрос не о написании тестов / профилирования кода elisp, для этого посмотрите этот вопрос .)

Существуют ли какие-либо тесты для производительности Emacs? Я ищу что-то эквивалентное стандартному тесту команды переводчиков V8 или тесту команды pypy .

Я хотел бы иметь возможность отвечать на такие вопросы, как «Emacs 24,4 быстрее, чем 24,3?».

Существуют ли какие-либо тесты?


2
Я думаю, что люди, говорящие о Guile VM, должны быть в состоянии дать нам несколько советов, поскольку преимущество, которое всегда возвращается, состоит в том, насколько он быстрее по сравнению с Elisp.
Nsukami _

Скорость - это фактор использования Guile VM, но надлежащая поддержка FFI и потоков также есть в списке и, пожалуй, важнее.
dgtized

Ответы:


3

К сожалению, я не знаю ни одного хорошего теста производительности для Emacs. Частично причина в том, что это зависит от того, что вы хотите измерить (производительность повторного отображения? Производительность ввода-вывода? ...).

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

Этот тест, который я использовал:

rm **/*.elc lisp/loaddefs.el; make -jN

запуск его из исходного кода Emacs приводит к перекомпиляции всех файлов Elisp, и байт-компилятор является одним из сравнительно немногих компонентов Elisp, которые работают в течение длительных периодов времени и могут легко запускаться в пакетном режиме.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.