Freitag, März 23, 2012

Vim vs Emacs

Wenn man über die beiden Editoren Vim und Emacs spricht kommt über kurz oder lang auch das Thema Startzeit auf. Hier möchte ich zeigen das auch der Emacs sehr schnell starten kann. Man muß nur die Philosophie der beiden verstehen und anwenden.

Ich möchte mit dem Vim beginnen und einen Datei starten und diesen gleich wieder beenden und dabei die Zeit messen. Das mache ich mit folgendem Befehl

% time vim -c :q file
vim -c :q test  0.07s user 0.03s system 14% cpu 0.692 total

In der zweite Zeile sieht man die Zeit die Vim gebraucht hat um diese Datei zu öffnen und wieder zu schließen. Nun möchte ich die gleiche Datei mit Emacs öffnen

% time emacs -nw -f "save-buffers-kill-terminal" file
emacs -nw -f "save-buffers-kill-terminal" test  0.66s user 0.10s system 51% cpu 1.467 total

Wow. Das ist ja mal deutlich langsamer. Die Philosophie von Emacs ist es aber den Editor einmal zu starten und dann alles was man möchte darin zu öffnen oder zu schließen. Dafür gibt es einen emacsclient der sich mit dem Server verbinden kann und dort dann Dateien öffnen. Dazu muß man in einem Emacs den Server starten mit M-x server-start danach kann man mit

% emacsclient -n file

eine Datei öffnen. Dabei sieht man wie schnell Emacs eine Datei öffnet.

% emacsclient -n test
emacsclient -n test  0.00s user 0.00s system 0% cpu 0.015 total

Man sieht das dies wesentlich schneller geht, da hier keine Funktionen mehr geladen werden müssen und damit kann man schon sagen das der Emacs schnell startet.

Was man hingegen schon bemerken muß, ist der Speicherverbrauch den die beiden Editoren benötigen. Hier hat der Vim die Nase vorne und verbraucht wesentlich weniger Speicher.

#vim
% pmap 9113 | grep total
 total            32180K
#emacs
% pmap 21265 | grep total
 total           178736K

Wenn man aber bedenkt das hinter Emacs eine andere Philosophie steckt und dieser wesentlich mehr Features mit sich bringt, ist der Speicherverbrauch zu relativieren.

Keine Kommentare:

Kommentar veröffentlichen