¿Hay alguna suite de referencia preexistente para el propio Emacs?


10

(Esta pregunta no se trata de escribir puntos de referencia / perfilar código elisp, para eso, vea esta pregunta ).

¿Existen suites de referencia para el rendimiento de Emacs? Estoy buscando algo equivalente al punto de referencia estándar del equipo de intérpretes V8 o el conjunto de puntos de referencia del equipo pypy .

Me gustaría poder responder preguntas como '¿es Emacs 24.4 más rápido que 24.3?'.

¿Hay alguna suite de referencia existente?


2
Creo que las personas que hablan sobre Guile VM deberían poder darnos algunos consejos, ya que la ventaja que siempre regresa es lo rápido que es vs Elisp.
Nsukami _

La velocidad es un factor en el uso de Guile VM, pero un FFI adecuado y un soporte de subprocesos también están en la lista y son discutibles más importantes.
Dgtized

Respuestas:


3

Lamentablemente, no conozco ningún buen punto de referencia de rendimiento para Emacs. Parte de la razón es que depende de lo que quiera medir (¿rendimiento de la pantalla de visualización? ¿Desempeño de E / S? ...).

Con respecto al rendimiento de Elisp en particular, la falta de referencia es un síntoma de la relativa falta de trabajo para mejorar su rendimiento. FWIW, cuando trabajé en la implementación del enlace léxico, utilicé un punto de referencia para tratar de asegurarme de que esta nueva característica no tuviera el costo de un menor rendimiento.

Este punto de referencia que utilicé es:

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

ejecutarlo desde la fuente de Emacs hace que todos los archivos de Elisp se vuelvan a compilar, y el compilador de bytes es una de las relativamente pocas piezas de Elisp que se ejecutan durante largos períodos de tiempo y pueden ejecutarse fácilmente en modo por lotes.

La desventaja es que este es un objetivo en movimiento, ya que el tiempo necesario depende de la versión del compilador de bytes que esté utilizando, así como de la versión de Emacs que está compilando.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.