On Sun, May 09, 2004 at 08:24:52PM +0200, Fabian Hänsel wrote:
Stefan Seyfried wrote:
On Sun, May 09, 2004 at 05:47:36PM +0200, Torsten Werner wrote:
mplayer-i386 ist ein Paket, dass zur Laufzeit die zum Prozessor passende Optimierung wählt. Ergo: neu übersetzen ist völlig unnötig.
runtime-cpudetection ist lame. Zumindest wenn du auf performance wert legst.
Die CPU wird am Anfang einmal erkannt, die entsprechenden Routinen werden einmal geladen, anschließend x >> 1 mal ausgeführt. Die
Du schreibst aber jetzt nicht über MPlayer? Ich habe schon lange nicht mehr in den Code geschaut, aber es war wohl so, daß je nach erkannter CPU ein Sprungvektor anders initialisiert wurde, so daß anderer Assemblercode ausgeführt wurde. Dieser dynamische Sprungbefehl ist aber wohl wesentlich unperformanter, als wenn der handoptimierte MMX- oder SSE- oder wasauchimmer-Assemblercode direkt an dieser Stelle stehen würde.
verschwendete Rechenzeit durch eine CPU-Detection ist doch nicht groß,
nein, aber wenn du eine MPEG-Dekodierroutine hast, die teilweise CPU-Unabhängigen C-Code und teilweise handoptimierte Assembleranweisungen wie in libavcodec hast, dann macht das durchaus was aus.
insbesondere bei lange rechnenden Anwendungen sollte sie prozentual verschwindend gering sein.
Tja, im Zeitalter der Gigahertzen interessieren diese 2-3% die es beim MPlayer wohl sein sollen natürlich keinen mehr... :-)