Gibt es bereits vorhandene Benchmark-Suiten für Emacs selbst?


10

(Bei dieser Frage geht es nicht darum, Benchmarks / Profiling-Elisp-Code zu schreiben. Siehe dazu diese Frage .)

Gibt es Benchmark-Suiten für die Leistung von Emacs? Ich suche etwas, das dem Standard-Benchmark des V8-Dolmetscherteams oder der Benchmark-Suite des Pypy-Teams entspricht .

Ich möchte Fragen wie "Ist Emacs 24.4 schneller als 24.3?" Beantworten können.

Gibt es bereits Benchmark-Suiten?


2
Ich denke, die Leute, die über Guile VM sprechen, sollten uns einige Hinweise geben können, da der Vorteil immer wieder darin besteht, wie schnell es gegenüber Elisp ist.
Nsukami

Geschwindigkeit ist ein Faktor bei der Verwendung von Guile VM, aber eine ordnungsgemäße FFI- und Thread-Unterstützung sind ebenfalls auf der Liste und möglicherweise wichtiger.
10.

Antworten:


3

Leider kenne ich keinen guten Leistungsmaßstab für Emacs. Ein Grund dafür ist, dass es davon abhängt, was Sie messen möchten (Redisplay-Leistung? E / A-Leistung? ...).

Insbesondere in Bezug auf die Leistung von Elisp ist das Fehlen eines Benchmarks ein Symptom für den relativen Mangel an Arbeit zur Verbesserung seiner Leistung. FWIW, als ich an der Implementierung der lexikalischen Bindung arbeitete, habe ich einen Benchmark verwendet, um sicherzustellen, dass diese neue Funktion nicht zu Lasten einer geringeren Leistung geht.

Dieser Benchmark, den ich verwendet habe, ist:

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

Wenn Sie es aus der Emacs-Quelle ausführen, werden alle Elisp-Dateien neu kompiliert, und der Byte-Compiler ist eines der relativ wenigen Elisp-Teile, die über einen längeren Zeitraum ausgeführt werden und problemlos im Batch-Modus ausgeführt werden können.

Der Nachteil ist, dass dies ein sich bewegendes Ziel ist, da die benötigte Zeit von der Version des verwendeten Byte-Compilers sowie von der Version von Emacs abhängt, die Sie kompilieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.