Existem suítes de benchmark pré-existentes para o próprio Emacs?

10

(Esta questão não é sobre como escrever código de referência / perfil elisp, para isso, consulte esta pergunta .)

Existem suítes de benchmark para o desempenho do Emacs? Estou procurando algo equivalente ao benchmark padrão da equipe de intérpretes V8 ou ao conjunto de benchmarks da equipe pypy .

Eu gostaria de poder responder perguntas como 'o Emacs é 24,4 mais rápido que 24,3?'.

Existem suítes de benchmark existentes?

Wilfred Hughes
fonte
2
Acho que as pessoas que falam sobre o Guile VM devem nos dar algumas dicas, pois a vantagem sempre volta é a rapidez com que o Elisp é mais rápido.
Nsukami _
A velocidade é um fator no uso do Guile VM, mas um suporte adequado a FFI e thread também está na lista e é discutível mais importante.
dgtized

Respostas:

3

Infelizmente, não conheço nenhuma referência de bom desempenho para o Emacs. Parte do motivo é que depende do que você deseja medir (exibir novamente o desempenho? Desempenho de E / S? ...).

Em relação ao desempenho da Elisp, em particular, a falta de benchmark é um sintoma da relativa falta de trabalho em melhorar seu desempenho. FWIW, ao trabalhar na implementação da ligação lexical, usei uma referência para tentar garantir que esse novo recurso não viesse ao custo de desempenho inferior.

Esse benchmark que usei é:

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

executá-lo na fonte do Emacs faz com que todos os arquivos Elisp sejam recompilados, e o byte-compiler é uma das relativamente poucas partes do Elisp que são executadas por longos períodos de tempo e podem ser executadas facilmente no modo em lote.

A desvantagem é que esse é um alvo em movimento, pois o tempo necessário depende da versão do compilador de bytes que você está usando e da versão do Emacs que está compilando.

Stefan
fonte