Autor Thema: Vergleichs-Benchmarks s420->e2140->e6400->e6420 was macht der Cache wirklich aus  (Gelesen 39957 mal)

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
moin leute,
wie versprochen habe ich hier nun vor nen kleinen Vergleichs bench der oben genannte CPU´s zumachen.
womit ich herausfinden/nachweisen will wie stark sich der Cache auf die CPU Leistung auswirkt.
weshalb ich für die benches, möglichst ebenbürtige Gegner ausgesucht habe,
welche sich nur (bis auf einen....) im Cache und im Standard FSB unterscheiden.

hier die Eckdaten der CPU´s:


alle CPU´s werden von mir unter den selben Bedingungen gebencht,
das heisst gleicher FSB, gleicher multi, Speichertakt, Timmings, OS, usw......

weshalb die Werte dann untereinander dann auch Vergleichbar seinen werden.

als Benchmarks. kommen zum Einsatz:
- superPI 1M
- MaxPI 32k
- NuclearMC
- Cinebench 9.5 (-->ganz unten<--)
- Cinebench 10
- 3Dmark05
- Aquamark3
- mplayer 1.0RC1 try 2 (rev 20801) 09 jun 2007 inkl. der batchdatei von Gargamel + Elephants Dream Videomaterial


Das Testsystem besteht aus:
MB: Asus P5B deluxe
Ram: 4Gb Cellshock PC8000 CL4
GPU: eVGA 8800GTS
PSU: bequite 520watt
OS: Windows XP prof 32bit (ja ich weiss unter XP 32bit werden nur 3Gb Ram genutzt, nen 64bit steht mir derzeit halt nicht zur verfügung...)

Verwendete Einstellungen:
FSB200
s420 bei FSB200x 8 = 1600Mhz Speicherteiler: 3:4 Timings: 4-4-4-8
e2140 bei FSB200x 8 = 1600Mhz Speicherteiler: 3:4 Timings: 4-4-4-8
e6400 bei FSB200x 8 = 1600Mhz Speicherteiler: 3:4 Timings: 4-4-4-8
e6420 bei FSB200x 8 = 1600Mhz Speicherteiler: 3:4 Timings: 4-4-4-8


FSB266
s420 bei FSB266x 8 = 2128Mhz Speicherteiler: 1:1 Timings: 4-4-4-8
e2140 bei FSB266x 8 = 2128Mhz Speicherteiler: 1:1 Timings: 4-4-4-8
e6400 bei FSB266x 8 = 2128Mhz Speicherteiler: 1:1 Timings: 4-4-4-8
e6420 bei FSB266x 8 = 2128Mhz Speicherteiler: 1:1 Timings: 4-4-4-8

FSB333
s420 bei FSB333x 8 = 2664Mhz Speicherteiler: 1:1 Timings: 4-4-4-8
e2140 bei FSB333x 8 = 2664Mhz Speicherteiler: 1:1 Timings: 4-4-4-8
e6400 bei FSB333x 8 = 2664Mhz Speicherteiler: 1:1 Timings: 4-4-4-8
e6420 bei FSB333x 8 = 2664Mhz Speicherteiler: 1:1 Timings: 4-4-4-8


andere Hardwarekomponenten wie Netztwerkkarten, Soundkarten usw.
wurde für diesen test deaktiviert da sie für die Benches uninteressant da unnötig sind....

naja nun genug gelabbert, jetzt folgen die ersten benches...
die anderen CPU´s werden dann nach und nach hier mit eingetragen damit´s dann auch übersichtlich bleibt

FSB200
s 420: superPI 40,156sek | MaxPi 64,516sek | NuclearMC 3021 | Cinebench 9.5 247/----- | Cinebench 10 1431/------- | 3Dmark05  7762 | AQ3 68,761 | encode ungültiger lauf

e2140: superPI 36,391sek | MaxPi 62,422sek | NuclearMC 4994 | Cinebench 9.5 266/488 | Cinebench 10 1571/2926 | 3Dmark05  9606 | AQ3 89,269 | encode 8:48,30

e6400: superPI 34,718sek | MaxPi 61,328sek | NuclearMC 5002 | Cinebench 9.5 264/492 | Cinebench 10 1612/3045 | 3Dmark05 10050 | AQ3 93,399 | encode 8:42,33

e6420: superPI 31,671sek | MaxPi 61,719sek | NuclearMC 5038 | Cinebench 9.5 264/489 | Cinebench 10 1613/3062 | 3Dmark05 10291 | AQ3 97,299 | encode 8:43,83

FSB266
s 420: superPI 31,641sek | MaxPi 45,812sek | NuclearMC 4004 | Cinebench 9.5 322/----- | Cinebench 10 1850/------- | 3Dmark05  9870 | AQ3 85,867 | encode 7:19,09

e2140: superPI 28,219sek | MaxPi 45,766sek | NuclearMC 6632 | Cinebench 9.5 351/649 | Cinebench 10 2058/3854 | 3Dmark05 11887 | AQ3 109,586 | encode 6:41,92

e6400: superPI 26,406sek | MaxPi 46,297sek | NuclearMC 6641 | Cinebench 9.5 354/655 | Cinebench 10 2138/4059 | 3Dmark05 12612 | AQ3 115,870 | encode 6:36,47

e6420: superPI 26,016sek | MaxPi 47,250sek | NuclearMC 6675 | Cinebench 9.5 352/654 | Cinebench 10 2157/4065 | 3Dmark05 12881 | AQ3 122,069 | encode 6:36,27

FSB333
s 420: superPI 25,609sek | MaxPi 36,844sek | NuclearMC 4997 | Cinebench 9.5 409/----- | Cinebench 10 2272/------- | 3Dmark05 11759 | AQ3 105,323 | encode 5:50,92

e2140: superPI 22,656sek | MaxPi 36,953sek | NuclearMC 8287 | Cinebench 9.5 440/814 | Cinebench 10 2559/4806 | 3Dmark05 14071 | AQ3 133,890 | encode 5:21,97

e6400: superPI 21,110sek | MaxPi 36,719sek | NuclearMC 8307 | Cinebench 9.5 442/823 | Cinebench 10 2682/5098 | 3Dmark05 14678 | AQ3 141,567 | encode 5:17,20

e6420: superPI 19,188sek | MaxPi 37,000sek | NuclearMC 8353 | Cinebench 9.5 440/816 | Cinebench 10 2699/5154 | 3Dmark05 15050 | AQ3 150,178 | encode 5:14,38

achso:
die CPU die von mir im Titel mit zwei xx versehen ist soll ein e6750 werden,
aber da ich hin noch nicht bekommen habe.
habe sich sie mit Absicht noch nicht mit eingetragen,
nicht das später jemand enttäuscht ist weil ich zu viel versprochen habe.....

und wenn noch Interesse an dem einem oder anderem Benchmarks bestehen sollte,
bis morgen Mittag könnt ihr mich noch überreden  :D
vorbei  ;)
« Letzte Änderung: 08. Dezember 2007, 01:36:23 von mad1120 »
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!

Offline SeLecT

  • kühlt mit ner Kaskade
  • *
  • Beiträge: 2.780
Super Thread!

Bin schon auf die Ergebnisse gespannt ;)

Hier mal von mir was mit 1MB vs. 4MB:

Vergleiche zwischen 1MB vs. 4MB

Cinebench 9.5

1MB
E2140 - Cinebench 9.5 - 3107 Mhz - 1CPU: 499 - xCPU: 873 - Multiprocessor Speedup: 1,75 - Crucial Value @ 388Mhz @ 4-4-4-9



4MB

E6600 - Cinebench 9.5 - 3107 Mhz - 1CPU: 520 - xCPU: 956 - Multiprocessor Speedup: 1,84 - Crucial Value @ 388Mhz @ 4-4-4-9




Cinebench 10

1MB
E2140 - Cinebench 10 - 3102 Mhz - 1CPU: 2883 - xCPU: 5446 - Multiprocessor Speedup: 1,89 - Crucial Value @ 387Mhz @ 4-4-4-12



4MB
E6600 - Cinebench 10 - 3102 Mhz - 1CPU: 3168 - xCPU: 6073 - Multiprocessor Speedup: 1,92 - Crucial Value @ 387Mhz @ 4-4-4-12



SuperPi 32M

1MB
E2140 - SuperPi 32M - 3107 Mhz - 20m 37s 063ms - Crucial Value @ 388Mhz @ 4-4-4-12



4MB
E6600 - SuperPi 32M - 3107 Mhz - 16m 01s 703ms - Crucial Value @ 388Mhz @ 4-4-4-12



MaxPi

1MB
31,68 / SeLecT / E2140 @ 3,1Ghz / 388Mhz @ 4-4-4-9



4MB
31,1715 / SeLecT / E6600 @ 3,1Ghz / 388Mhz @ 4-4-4-9


Offline Fantometer

  • Redakteur
  • ist zum Südpol gezogen
  • ***
  • Beiträge: 4.219
  • Freak by Nature
    • Weng Kunst von mir
Ihr Freaks.. :P  aber das ist echte Forschung ;)
Hiermit ehre ich den findigen Biologen, der auf die Idee kam, Pizza und Leberkäse zu kreuzen!

Offline M0rre

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.460
sehr nett
aber ich hab mich vol erschrocken als ich das FSB200 ergebnis von mad gesehen habe

ich dachte das mein x2 besser als nen 6400 ist xD

da haste nen zahlendreher drin

es sind 34 und nicht 43 sec ;)

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
@ SeLecT
wenn ich mir deine ergebnisse so anschaue,
ist der leistungsgewinn durch den cash sogar noch geringer als ich gedacht hätte.
weil grob übern daumen sind das noch nicht mal 10% duch ne vervierfachend des cash´s....

@ Fantometer
jap danke, slber freak  :clown:
ich seh das mehr als,
ne art Entscheidungshilfe weil ich jedes mal wenn ne neue CPu ansteht grübeln muß ob der cash den aufpreis wirklich wert ist.
und da ich bisher nie was gefunden habe was mir die frage beantwortet, beantworte ich sie mit eben selber.....  :think:

@M0rre
besten dank habs gerade gefixed
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!

Offline M0rre

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.460
ist das "cash" absicht?

ich hoffe doch ;)

Cache sieht finde ich aber viel besser aus :P

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
nicht wirklich...
ich bin Legastheniker aber das ist nen anderes thema.....

aber ich werd´s mal fixen
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!

Offline M0rre

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.460
war ja nicht bös gemeint ;)

also wenn ich alle meine fehler zählen würd xD

ne lass so gut bin ich in mathe auch net   :P

juckt mich im forum halt nicht die bohne

(alleine in diesem post sind bestimmt 30 fehler die mein lehrer im deutschunterricht angestreichen würde :nut: )

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
war ja nicht bös gemeint ;)

also wenn ich alle meine fehler zählen würd xD

ne lass so gut bin ich in mathe auch net   :P

juckt mich im forum halt nicht die bohne

(alleine in diesem post sind bestimmt 30 fehler die mein lehrer im deutschunterricht angestreichen würde :nut: )

böse bin ich mit dir deswegen bestimmt nicht,
weil es sieht ja irgendwie doch bescheiden aus wenn jemand nen interessanten thread schreibt,
den auch andere lesen die nicht hier aktiv sind, der dann nur so vor Rechtschreibfehlern strotzt....
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!

Offline Gargamel

  • hat ne Eismaschine
  • *****
  • Beiträge: 395
Ich finde dein Vorhaben auch toll und bin echt mal auf die Ergebnisse gespannt. Das wird für mich dann wahrscheinlich auch kaufentscheidend. Mir ist nämlich leider finanziell was dazwischen gekommen, weshalb sich meine C2D Anschaffung noch etwas verschiebt.

Zu den Benchmarks... Kennst du dich vielleicht mit Video-Encoding aus? Also wenn das für dich kein großer Aufwand ist, würden mich Vergleiche mit dem x264-Codec interessieren. Dann wäre es für die Vergleichbarkeit natürlich gut, wenn man die ganzen gemachten Einstellungen dokumentiert und einen frei verfügbaren Film nimmt (bzw. Auszüge), Elephants Dream oder so. Leider kann ich dir da für Windows keine Programme empfehlen, da ich fast ausschließlich Linux Tools verwende. Obwohl - MEncoder müsste es auch für Windows geben.

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
hi,
beim Thema videoencoding muss ich leider passen.
da ich mich damit noch nie grossartig beschäftigt habe,
zumal mir bei den Benchmarks es sehr wichtig ist das die Benchmarks auch
im zeitlichen Rahmen von je 5-10min bleiben und ich mich nicht längere zeit mit einstell arbeiten beschäftigen muss.
da ich bei der Anzahl von CPU´s und test´s doch schon nen bisschen zeit aufwenden muss...

aber wenn jemand nen passendes (einfaches) prog. + nen Videoschippsel hat,
was sich schnell bearbeiten lässt kann ich´s mir gerne nochmal ansehen bevor ich die nächste CPU in die Mangel nehme.
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!

Offline Gargamel

  • hat ne Eismaschine
  • *****
  • Beiträge: 395
Ist schon klar, dass es nicht zu zeitaufwändig werden darf - also einfach nur einen fünf Minuten Schnipsel kodieren. Mit MEncoder sollte es möglich sein, die ganzen Einstellungen per Kommandozeile zu übergeben. Das könnte man also alles in eine Batch-Datei (oder eine "Verknüpfung") packen. Nur habe ich keine Ahnung, wie man unter Windows die Ausführungszeit messen kann. Die Windows-Shell kennt ja bestimmt kein "time"...

Naja, wenns nichts gibt ist auch nicht weiter schlimm. Muss ich mich halt an Cinebench orientieren.

BTW: Hab grade gesehen, dass "Elephants Dream" ein Kurzfilm mit 11 Minuten länge ist.  :biggrin:

Offline Zeh Emm

  • Lektor
  • kühlt mit Stickstoff
  • **
  • Beiträge: 3.008
  • Shake that ass, Bitch...
    • Meine private Seite - befindet sich aber im Aufbau
@mad1120: Du sagst, dass sich der viermal größere Cache nicht bis kaum auswirkt. Wenn man die 1M-Benches betrachtet ist es wirklich verschwindend gering aber sobald man auf den 32M guckt sieht die Sache schon wieder anders aus. Wenn ich mich nicht verrechnet habe, ist die 4MB-Version um geschätzte 22,5% schneller.
« Letzte Änderung: 05. Oktober 2007, 08:50:42 von Claas M »
"Hat sich durch das, was Du getan hast, Dein Leben verbessert?" - American History X
"Quot me nutrit me destruit"

"Your Mom is so dumb that she tried to minimize a 12 variable function to a minimal sum of products expression using a karnaugh map instead of the Quine-McCluskey"

<SenioR> whahahah fravec! Ich hab deine Mudda gebumst!!  <@Fravec> Papa, hau ab, ich rede hier mit Freunden...

Offline Gargamel

  • hat ne Eismaschine
  • *****
  • Beiträge: 395
So, ich habe mal eine ganz billige Benchmark-Anleitung verfasst. Was mir daran nicht gefällt, ist dass es sich auf ein spezielles Build vom MPlayer stützt, welches wahrscheinlich nicht mehr lang online sein wird. Damit hat es sich dann mit der Vergleichbarkeit, aber was solls. Die Optionen für x264 sind auch nur auf die Schnelle gewählt - falls da jemandem was besseres einfällt möge er sich melden. Aber ich denke prinzipiell reicht es um Tendenzen aufzuzeigen.

Vorbereitung:

1. Du entpackst folgende Datei: mplayer 1.0RC1 try 2 (rev 20801) 09 jun 2007 (ohne CSS Support, um rechtlichen Problemen vorzubeugen) in ein neues Verzeichnis.

2. In das selbe Verzeichnis speicherst du das Video Elephants Dream in der Version "AVI, MPEG4 / AC3 5.1 Surround, 1024 Pixel Breite" (auf dieser Seite gibts oben rechts Mirrors). Die Datei ist 425MB groß, aber wir brauchen nur die ersten 80 bis 100MB. In dem Verzeichnis sollten jetzt unter anderem die beiden Dateien "mencoder.exe" und "ED_1024.avi" liegen - nur die beiden werden wirklich benötigt.

EDIT: Die aktuelle Bench-Batch-Datei befindet sich hier.

3. Du erstellst eine Batch-Datei "encode.bat" mit folgendem Inhalt:

@echo %time% Starte MEncoder

@mencoder.exe ED_1024.avi -o output.avi -vf scale=640:360 -oac faac -faacopts quality=75 -ovc x264 -x264encopts frameref=5:bframes=2:8x8dct:me=hex:subq=5:trellis=1:threads=1:bitrate=700 -endpos 2:00 >log1.txt 2>log2.txt

@echo %time% Fertig!
@pause

Die Batch-Datei kannst du nun als "Benchmark" starten. Sie spuckt dir zwei Zeitpunkte aus, einmal vor dem MEncoder-Start und einmal nachher. Daraus kann man dann die Zeitdifferenz ausrechnen. Als Batch-Datei kann ich sowas aber nicht.

Auf meinem x2 @ 2,4 GHz braucht mencoder unter Wine knapp 3 Minuten dafür, nur als Anhaltspunkt. Sollte es bei dir wesentlich schneller fertig werden, schick mir bitte die beiden Log-Dateien.

Vielen Dank, falls du dir die Mühe machen willst :)

Falls du noch mehr Rechenzeit übrig hast, schreib ich gerne eine 2-Pass Variante.
« Letzte Änderung: 06. Oktober 2007, 19:47:45 von Gargamel »

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
@mad1120: Du sagst, dass sich der viermal größere Cache nicht bis kaum auswirkt. Wenn man die 1M-Benches betrachtet ist es wirklich verschwindend gering aber sobald man auf den 32M guckt sieht die Sache schon wieder anders aus. Wenn ich mich nicht verrechnet habe, ist die 4MB-Version um geschätzte 22,5% schneller.

ja bei superPi gibst schon nen gewaltigen unterschied,
bloss super Pi hat nur ne relativ geringe Aussagekraft für den täglichen betrieb.
siehe der Ergebnisse in Verbindung eines AMD X2 wonach die X2 total lahme Kisten seinen müsten....

weshalb ich mich dann immer lieber an den cinebench werten orientiere,
und sind die Unterschiede nicht so dolle....

@Gargamel
danke für deine mühe,
ich bin gerade dabei das zeug zu saugen.
wenn´s wirklich so klappt kann ich das dann gerne mit aufnehmen,
wobei ich dir dann aber erstmal die Ergebnisse für den e6400 aber schuldig bleiben muss da ich
schon die nächste CPU eingebaut habe. aber sobald ich einmal durch bin kommt der e6400 wieder rein.. 

EDIT:
habs gerade auf meinem Inet-PC mal laufen lassen (s420) -->4:17,52 passt also  :thumbup:
einzig die Zeit Berechnung ist etwas blöde, weil man sich da schön verrechnen kann.
aber irgendwas ist ja immer.....

ach und was die uptime von dem progi. angeht,
ich werde es einfach zusammen mit deiner batch Datei mir auf´m Webspace einlagern.
einzig das video bleibt aussen vor das es mir dafür zu gross ist....
« Letzte Änderung: 05. Oktober 2007, 14:28:40 von mad1120 »
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!

Offline Gargamel

  • hat ne Eismaschine
  • *****
  • Beiträge: 395
Macht nichts, wenn die Ergebnisse vom e6400 erstmal fehlen. Bin ja schon froh, wenn du es überhaupt mit rein nimmst. :)

Habe das Script noch etwas überarbeitet: Jetzt gibt es eine Fortschrittsanzeige im Dos-Fenster, das Fenster schließt sich automatisch wenn er fertig ist und die Zeiten werden immer in der Datei "zeiten.txt" angehangen. Ist vielleicht angenehmer zu handhaben. Außerdem habe ich Multi-Pass encoding mit aufgenommen. Falls dir das zu lange dauert, kannst du es ja rausschnippeln.

EDIT: Auch diese Batch-Datei ist nicht mehr aktuell. Die aktuelle Bench-Batch-Datei befindet sich hier.

Bei Interesse kann ich das ganze auch etwas erklären...

@set VOPTS=-x264encopts  frameref=5:bframes=2:8x8dct:me=hex:subq=5:trellis=1:threads=1:bitrate=700
@set CODECS=-oac faac -faacopts quality=75 -ovc x264
@set OPTIONS=ED_1024.avi -vf scale=640:360 -endpos 2:00
@REM  erste 20 Sekunden ueberspringen: "-idx -ss 0:20"

@echo %time% Starte Mencoder
@echo %time% Start >> zeiten.txt

mencoder.exe %OPTIONS%  %CODECS% %VOPTS% -o single.avi
@REM >log1.txt 2>log2.txt

@echo %time% Single Pass Encoding beendet.
@echo %time% Single Pass Encoding beendet. >> zeiten.txt

@REM ===8<=== Multi-Pass ab hier wegschneiden ===8<======8<======8<======8<======8<===

mencoder.exe %OPTIONS% %CODECS% %VOPTS%:pass=1:turbo=1 -o first.avi

@echo %time% First Pass von Multi-Pass Encoding beendet.
@echo %time% First Pass von Multi-Pass Encoding beendet. >> zeiten.txt

mencoder.exe %OPTIONS% %CODECS% %VOPTS%:pass=2 -o second.avi

@echo %time% Second Pass von Multi-Pass Encoding beendet.
@echo %time% Second Pass von Multi-Pass Encoding beendet. >> zeiten.txt

@REM ===>8=== Multi-Pass bis hier wegschneiden ==>8======>8======>8======>8======>8===

@echo -------------------- >> zeiten.txt

@REM @pause
Hoffentlich war ich noch früh genug...

Edit: Das Quell-Video wird denke ich mal noch eine ganze Weile im Netz verfügbar sein. Wie gesagt, die ersten 100 MB reichen - Mplayer / MEncoder kommt ganz gut mit kaputten avis zurecht.

Edit2: Achtung: Mir ist grade aufgefallen, dass ich beim First Pass noch eine Option im Script vergessen hatte, habe die grad nachgebessert. Vorher haben First- und Single-Pass quasi ein und das selbe getan. Sorry - das war dann die letzte Änderung.

Um die Zeit-Differenzen hinterher Anhand der Datei "zeiten.txt" auszurechnen, könnte ich ein Shell-Script basteln. Mit der Bash + Unix-Tools ist das kein Ding, aber für Windows kann ich sowas nicht.
« Letzte Änderung: 06. Oktober 2007, 19:00:56 von Gargamel »

Offline M0rre

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.460
hab ich auch mal getestet

auch knapp unter 3min

aber da tut hier ja nix zur sache :P

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
jap war schnell genug,
aber kannst de bitte die batch datei noch so um arbeiten das die Zeiten in dem Fensten mit ausgegeben werden.
und es sich erst dann schliesst wenn ich in ruhe noch nen Screenshot mit CPU-Z und der gleichen machen konnte.
weil dann wäre die ganze sache perfekt....

EDIT: mit den zeiten meine ich den inhalt der zeiten.txt datei nicht die diffrenzzeiten.
weil mit diffrenzzeiten sagtest du ja geht ja leider nicht...
« Letzte Änderung: 05. Oktober 2007, 15:12:45 von mad1120 »
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!

Offline Gargamel

  • hat ne Eismaschine
  • *****
  • Beiträge: 395
Die umgeschriebene Batch-Datei hast du ja schon längst per PM bekommen. Nun noch das versprochene Auswertungsscript für alle Linux / Unix / Cygwin Nutzer.

Die Batch-Datei hängt ja bei jedem Durchlauf die neuen Zeitstempel an die Datei "zeiten.txt" an. Das Shell-Script "zeit-leser.sh" liest die Datei "zeiten.txt" aus und berechnet aus den Zeitstempeln die Zeit-Differenzen. Diese gibt es formatiert aus. Des weiteren wird bei Zeilen, die mit einer Raute ("#") beginnen, die Raute(n) und darauf folgende Whitespaces entfernt und dann folgende Zeichen ausgegeben. Zu deutsch - wenn man vor dem Start der Batch-Datei in der Datei "zeiten.txt" einen Kommentar (z.B. "# e4400 @ 3GHz") einträgt, wird er anschließend von "zeit-leser.sh" ausgegeben. So zwecks Übersichterhöhung. Dieser Satz kein Verb. :)

EDIT: Die aktuelle Bench-Batch-Datei befindet sich hier und kann inzwischen selbst die Zeit-Differenzen ausrechnen (auch wenn das manchmal schief geht). Aber Freunde Unixoider Betriebssysteme können diesen aktuellen Zeit-Leser trotzdem weiterverwenden ;)

Also, so sieht der zeit-leser aus:
#!/bin/bash

export LC_NUMERIC="POSIX"

if [ ! -e zeiten.txt ]; then
    echo "Fehler: zeiten.txt nicht im aktuellen Verzeichnis gefunden" 1>&2
    exit 1
fi

function print_time()
{
    #echo -n "'$1' "
    FLOAT=$(echo "$1" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
    if echo $FLOAT | grep -q '[^0-9.]' || [ "$FLOAT" == "" ]; then
        echo "\"$FLOAT\" nicht als Sekunden erkannt"
        return;
    fi
    INT=$(echo $FLOAT | sed 's/\..*//')
    if [ "$INT" == "" ]; then INT=0; fi
    CENTI=$(echo "($FLOAT-$INT)*100" | bc -l | sed 's/\..*//')
    printf '%d:%02d:%02d.%02d  %8.2f\n' \
            $((INT/3600)) $(((INT/60)%60)) $((INT%60)) $CENTI "$FLOAT";
}




STATE="init"

cat zeiten.txt | tr -d '\r' | sed 's/[[:space:]]*$//' | while read i; do
    TIME_FIELD=$(echo "$i" | cut -d ' ' -f 1);
    KEYWORD=$(echo "$i" | cut -d ' ' -f 2);
    # printf '%-22s %-22s %s\n' "'$TIME_FIELD'" "'$KEYWORD'" "'$i'"
    if echo "$i" | grep -q '^#'; then
        # Zeile wird als Kommentar behandelt.
        echo "$i" | sed 's/^#*[[:space:]]*//'
    elif echo "$TIME_FIELD" | grep -q '^[0-2][0-9]:[0-5][0-9]:[0-5][0-9],[0-9][0-9]$'; then
        # Variable TIME_FIELD enthaelt eine Zeit im Format HH:MM:SS,CS
        T=$(echo $TIME_FIELD | sed 's/\([0-2][0-9]\):\([0-5][0-9]\):\([0-5][0-9]\),\([0-9][0-9]\)/\1*3600+\2*60+\3.\4/' | bc -l)
        #printf '%-22s %-22s\n' "'$TIME_FIELD'" "'$T'"
        if   [ "$KEYWORD" == "Start" ] || [ "$KEYWORD" == "Start." ]; then
            LAST_TIME=$T
            START_TIME=$T
            echo "--- Um $TIME_FIELD Uhr gestarteter Batch-Durchlauf ---"
            STATE="START"
        elif [ "$KEYWORD" == "Single" ] && [ "$STATE" == "START" ]; then
            echo -n "Single-Pass Dauer  "
            print_time $(echo $T - $LAST_TIME | bc -l)
            LAST_TIME=$T
            STATE="SINGLE"
        elif [ "$KEYWORD" == "First" ] && [ "$STATE" == "SINGLE" ]; then
            echo -n "First-Pass Dauer   "
            print_time $(echo $T - $LAST_TIME | bc -l)
            LAST_TIME=$T
            STATE="FIRST"
        elif [ "$KEYWORD" == "Second" ] && [ "$STATE" == "FIRST" ]; then
            echo -n "Second-Pass Dauer  "
            print_time $(echo $T - $LAST_TIME | bc -l)
            echo -n "Insgesamt          "
            print_time $(echo $T - $START_TIME | bc -l)
            STATE="START"
            echo ""
        else
            echo "* Fehler. TIME_FIELD=\"$TIME_FIELD\", KEYWORD=\"$KEYWORD\", STATE=\"$STATE\"" 1>&2
            STATE="fail"
        fi
    elif [ "$TIME_FIELD" != "--------------------" ]; then
        echo "* Fehler. \"$TIME_FIELD\" nicht als Zeit erkannt" 1>&2
            STATE="fail"
    fi
done
(als zeit-leser.sh speichern, mit "chmod u+x zeit-leser.sh" ausführbar machen, die Datei zeiten.txt ins selbe Verzeichnis kopieren und mit ./zeit-leser.sh starten.)

Aus einer Datei zeiten.txt wie dieser (Ergebnisse von meinem Desktop und Notebook zusammenkopiert und kommentiert):
###   Athlon64 X2, 2x512k Cache, 2400 MHz
14:58:20,17 Start
15:01:10,68 Single Pass Encoding beendet.
15:02:54,51 First Pass von Multi-Pass Encoding beendet.
15:05:19,70 Second Pass von Multi-Pass Encoding beendet.
--------------------
# p3m, 512k Cache, 866 MHz
14:53:48,10 Start
15:04:22,72 Single Pass Encoding beendet.
15:10:50,80 First Pass von Multi-Pass Encoding beendet.
15:19:50,40 Second Pass von Multi-Pass Encoding beendet.
--------------------
.. wird folgende Ausgabe erzeugt:
Athlon64 X2, 2x512k Cache, 2400 MHz
--- Um 14:58:20,17 Uhr gestarteter Batch-Durchlauf ---
Single-Pass Dauer  0:02:50.51    170.51
First-Pass Dauer   0:01:43.83    103.83
Second-Pass Dauer  0:02:25.19    145.19
Insgesamt          0:06:59.53    419.53

p3m, 512k Cache, 866 MHz
--- Um 14:53:48,10 Uhr gestarteter Batch-Durchlauf ---
Single-Pass Dauer  0:10:34.62    634.62
First-Pass Dauer   0:06:28.08    388.08
Second-Pass Dauer  0:08:59.60    539.60
Insgesamt          0:26:02.30   1562.30

In der zweiten Spalte befinden sich die Zeit-Differenzen im Format HH:MM:SS.CS, in der dritten Spalte nochmal die Zeit in Sekunden, z.B. zur Weiterverarbeitung für Diagramme o.ä.

Falls jetzt jemand denkt, dass der X2 schlecht abschneidet: Das MEncoder-Binary ist ohne Thread-Support kompiliert, so dass nur ein Kern vom X2 verwendet wird. Der X264-Codec könnte aber prinzipiell auch mit mehreren Threads auf mehreren Kernen arbeiten.

EDIT: mit den zeiten meine ich den inhalt der zeiten.txt datei nicht die diffrenzzeiten.
weil mit diffrenzzeiten sagtest du ja geht ja leider nicht...
Das habe ich grade erst gelesen. Sollte prinzipiell gehen, aber kennst du das DOS-Äquivalent zu Unix' "cat" (um eine Datei auszugeben)? Ich kenne es nicht...
« Letzte Änderung: 06. Oktober 2007, 19:05:22 von Gargamel »

Offline mad1120

  • Singlestagebesitzer
  • *****
  • Beiträge: 1.062
  • wohnt hier
so das die berechnung´s lösung leider nicht unter windows läuft,
und ich keine lust habe mich mit zehntel und hundertstel sekunden rumzuschlagen.
werde ich einen ganz einfachen zahlen wert errechnen und zwar so:

den zahlenwert den ich hier beim Viedeoencoding ermittle ergibt sich der Einfachheit halber wie folgt:
ausgegebene Zeit:
14:34:33,73 Start
14:39:08,95 Single Pass Encoding beendet.
14:43:33,53 First Pass von Multi-Pass Encoding beendet.
14:47:21,48 Second Pass von Multi-Pass Encoding beendet.

Errechnung: Endzeit ohne Kommas und Punkte - Anfanszeit ohne Kommas und Punkte = Zahlenwert
also
14472148 - 14343373 = 128775wodurch dann eine kleinere Zahl einen besseren Wert darstellt.


das ist zwar alles andere als elegant,
aber dafür schön einfach und nachvollziehbar...


hat sich erledigt,
da Gargamel eine noch bessere Lösung gezaubert hat.
« Letzte Änderung: 06. Oktober 2007, 15:40:55 von mad1120 »
mein flickr account
90% aller Attentäter konsumieren 24 Stunden vor ihrem Anschlag Brot.
--> Also Brot ist gefährlich, verbietet Brot !!