[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: punkte zählen



On Tue, Feb 14, 2006 at 05:51:10PM +0000, Joerg Sommer wrote:
> Juergen Christoffel <jc@unser.net> wrote:
> > Du willst nicht ernsthaft die Geschwindigkeit zweier Kommando-Interpreter
> > anhand einer Primzahl-Berechnung vergleichen...
> 
> Nicht? Was wäre dann ein geeigneter Test?

Gute Frage und schwer zu beantworten, denn es ist leichter zu zeigen, dass
Primzahlen kein guter Test sind, als einen guten Test anzugeben. Das ist
wie mit dem Kochen, auch da ist es leichter ein angebranntes Gericht zu
erkennen als ein gutes zu kochen ;-)

Warum ist ein Primzahltest kein besonders guter Test fuer eine Shell? Eine
Shell ist ein Kommando-Interpreter, der im wesentlichen Eingaben
analysiert, die resultierenden externen Kommandos aufruft, auf deren Ende
wartet und dann das Ergebnis praesentiert bzw. intern abspeichert. Das
koennte eine Shell selbst dann noch gut und flott, wenn sie mit
BCD-Arithmetik oder verketteten Listen aus Ziffern arbeiten wuerde.

Da Shells, im Gegensatz zu Fortran oder C nicht primaer fuer Arithemtik
entworfen wurden, wissen wir nicht, ob die interne Arithmetik auch nur
halbwegs auf Geschwindigkeit hin ausgelegt ist.

Was waere ein guter Test? Da die meisten Shellscripts externe Kommandos
aufrufen (selbst ein [...] ruft ja /bin/test auf) und auf die warten,
haengt die Performance eines Scripts nicht unwesentlich von diesen
Kommandos ab. Da Shellscripte eben eine Mischung aus interner Verarbeitung
und externen Kommandos sind, ist es schwer, nur die Shell selbst zu testen.
Und es entspraeche auch nicht unbedingt den realen Anwendungen.

Und selbst wenn eine andere Shell schneller als die zsh waere, die ich
benutze, waere mir in der interaktiven Benutzung der Komfort z.B. der
Completion oder der mehrzeiligen History-Edits wichtiger. Denn wenn es
zeitkritisch wird, steige ich sowieso auf andere Sprachen um :-)

	--jc

-- 
  In zweifelhaften Fällen entscheide man sich für das Richtige.
	-- Karl Kraus (1874-1936) 



Reply to: