Existe-t-il des suites de référence préexistantes pour Emacs lui-même?


10

(Cette question ne concerne pas l' écriture de benchmarks / profilage de code elisp, pour cela, voir cette question .)

Existe-t-il des suites de référence pour les performances d'Emacs? Je cherche quelque chose d'équivalent au benchmark standard de l'équipe d'interprètes V8 ou à la suite de benchmarks de l'équipe pypy .

J'aimerais pouvoir répondre à des questions comme «Emacs 24.4 est-il plus rapide que 24.3?».

Existe-t-il des suites de référence existantes?


2
Je pense que les gens qui parlent de Guile VM devraient être en mesure de nous donner quelques conseils, car l'avantage qui revient toujours est la rapidité avec Elisp.
Nsukami _

La vitesse est un facteur dans l'utilisation de Guile VM, mais un support FFI et thread approprié est également sur la liste et peut-être plus important.
organisé

Réponses:


3

Malheureusement, je ne connais aucune bonne référence de performance pour Emacs. Cela tient en partie au fait que cela dépend de ce que vous voulez mesurer (performances de réaffichage? Performances d'E / S? ...).

En ce qui concerne les performances d'Elisp en particulier, le manque de référence est un symptôme du manque relatif de travail pour améliorer ses performances. FWIW, lorsque je travaillais sur l'implémentation de la liaison lexicale, j'ai utilisé une référence pour essayer de m'assurer que cette nouvelle fonctionnalité ne se faisait pas au détriment des performances.

Ce repère que j'ai utilisé est:

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

l'exécuter à partir de la source d'Emacs entraîne la recompilation de tous les fichiers Elisp, et le compilateur d'octets est l'un des rares éléments d'Elisp qui s'exécute pendant de longues périodes et peut facilement être exécuté en mode batch.

L'inconvénient est qu'il s'agit d'une cible mouvante, car le temps nécessaire dépend de la version du compilateur d'octets que vous utilisez ainsi que de la version d'Emacs que vous compilez.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.