x264 Benchmark (kein Schnelldurchgang! 32-Bit multicore und ≥1GB RAM)

  • So, mein P4 2.8GHz unter Linux mit dem optimierten GCC4 Build ist fertig. Ganz so der Reißer ists aber auch ned. Ca. 30min schneller als die gleiche Kiste unter Windows XP Pro.

    024:51:51.571 | 5.87x | GAT | P4 HT 2.8GHz | 1GB DDR-I/400 | CentOS 5.5 Linux x86_32 (custom build)**

    Zum Vergleich nochmal die selbe Hardware auf WinXP Pro:

    025:18:54.552 | 5.76x | GAT | P4 HT 2.8GHz | 1GB DDR-I/400 | XP Pro

    Sobald ich meine neue i7 950 Kiste auf der Arbeit kriege, und das CentOS 5.5 mal aufgesetzt und alles migriert ist usw., dann probier ichs nochmal mit mehr Flags für SSE3, SSE4.2 usw. ;)

    Gebaut mit GCC 4.1.2 auf CentOS 5.5 Linux, mit folgenden CFLAGS: "-march=native -O2 -pipe -mmmx -msse -msse2 -fomit-frame-pointer -ffast-math".

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Edited 2 times, last by GrandAdmiralThrawn (August 13, 2011 at 7:54 PM).

  • Aha. Du hast also den Flag "-O3" verwendet? Also z.B. "gcc -O3 -march=<architektur der cpu, zB. pentium3> -mmmx -msse -ffast-math -fomit-frame-pointer" verwendet?
    Diese Settings generieren tatsächlich maschinenspezifischen Code, der hochoptimiert ist. Die hab ich beim Erstellen meines LFS auf meiner Voodookiste auch genutzt. Resultat: Deutlich schneller als mit generisch kompiliertem Code. Kann ich jedem empfehlen. Auch der Linux-Treiber der Voodoos "tdfx" profitiert davon. Problem ist nur, daß einige Sachen, wie z.B. der GRUB mit "-O3" zwar kompilieren, der daraus resultierende Binärcode dann aber unbrauchbar ist.

  • -O2, nicht -O3!

    -O3 teste ich wenn erst am i7 950 dann.

    Also viel hat's ned direkt gebracht, aber ein klein bisserl schneller war er immerhin. Teile des Codes sind übrigens sowieso in Assembler geschrieben (yasm), das sollten die hochoptimierten Codepfade für unterschiedliche CPUs sein.. wobei ich die Details ned kenne.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Edited once, last by GrandAdmiralThrawn (November 24, 2010 at 5:37 PM).

  • Oh Gott, ich hatte hier bereits den gesamten Beitrag stehen, hab aber ausversehen beim Scrollen auf einen Nicknamen geklickt und dann war Ende im Gelände :cursing:
    Was ich schreiben wollte:

    @GAT: DANKE fürs bereitstellen vom Linux-Script! :spitze:

    Ich hatte vor das heute gleich dreimal durchlaufen zu lassen auf meiner Workstation, einmal auf der normalen HDD, einmal auf der SSD und einmal in einer RAM-Disk... Das Erste und das Letzte habe ich auch umgesetzt und unten sind die Ergebnisse, die aber aus mehreren Gründen mit Vorsicht zu genießen sind:

    HDD
    003:13:36.383 | xxx | richie_k | Xeon X3360 (@2.83Ghz stock) | 8GB DDR-II/800 | Gentoo Linux x86_64 (custom build)**


    RAM-Disk (fehlerhaft, bitte vorerst nicht aufnehmen)
    002:39:42.746 | xxx | richie_k | Xeon X3360 (@2.83Ghz stock) | 8GB DDR-II/800 | Gentoo Linux x86_64 (custom build)**


    Mein erster Gedanke war: "WTF?! Das kann doch nie und nimmer durch die RAM-Disk so profitieren" Dann hab' ich mal die Ausgaben auf der Konsole verglichen: Der zweite Durchgang auf der RAM-Disk hat nur 9650 Frames encoded, während der auf der HDD 15691 verarbeitet hat. Die Ausgaben beim Encoding von der RAM-Disk waren auch um einiges kompakter, vielleicht sollte ich das nochmal durchlaufen lassen, deswegen vielleicht erstmal nicht aufnehmen... :topmodel:

    Hier noch ein paar Daten zur custom Build:
    GCC: 4.3.4 oder 4.4.4-r2 (ich hab KA was mein Gentoo da verwendet hat und bin zu faul nachzuschauen)

    CFLAGS: -march=core2 -O2 -pipe -msse4.1 -msse3 -mssse3
    Ich wieso nur die da drinnen sind frag ich mich auch, ich dachte die Liste war mal länger bei meiner letzten Installation :gadget: Wobei, ich glaube mich erinnern zu können auf der Gentoo Wiki gelesen zu haben, dass mit den -march-Angaben so einige Angaben in den CFLAGs impliziert werden. -O2 ist halt, weil das gesamte System mit den Flags kompiliert wurde und ich schon gerne ein stabiles System hätte :topmodel: Ich könnte aber demnächst das Paket mit x264 auch nochmal explizit mit -O3 compilen...

  • Ich weiss ja nicht ob x264 viel mit loops und trees arbeitet, aber wer will kann das noch in seine CFLAGS hinzufuegen: -fdump-tree-optimized -ftree-vectorize
    Das sagt gcc die trees und loops zu optimieren :)

  • Ich werds probieren, wenn mein i7 dann fertig ist 8)

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Das nachträgliche herumdoktern an dem script ist aber nicht zweckmäßig. Es geht ja nicht darum den Benchmark durch anpassungen im script so schnell wie möglich zu bewältigen, sondern darum ein repräsentatives Gesamtergebniss zu erhalten. Also wie lange brauchen verschiedene Rechner für eine identische Aufgabe.
    Wenn nachträglich an dem Benchmark herumgespielt wird um da im Einzellfall noch eine 10 minuten geringere Durchlaufzeit herauszuholen sind die anderen Ergebnisse alle hinfällig...

  • Wennst ihn im Linux laufen lassen willst, hast aber keine Wahl. Da werden die Windows Binaries und Batch Scripts nie laufen. Also mußt in der Regel den x264 Encoder Source neu kompilieren, und ein neues Script drumherumwrappen, z.B. mit der Bash oder sh Shell. Da sich sowieso keine wirkliche Vergleichbarkeit ergeben kann (GCC statt mingw als Compiler, andere Versionen des Quellcodes..) kann man auch gleich versuchen, den Code so hart optimiert wie möglich zu bauen, solange der Output noch passt.

    Derart erzielte Ergebnisse werden ohnehin in jedem Fall mit den roten Sternen markiert, um darauf hinzuweisen, daß die Vergleichbarkeit nicht mehr gegeben ist, dies betrifft alle Custom Builds, egal auf welchem Betriebssystem, weiters betrifft es generell den Einsatz aller Betriebssysteme, die nicht Microsoft und >=NT5.0 sind, also Linux, MacOS, BSD, auch Win9x usw.

    Aber wie gesagt, WENN man unter Linux damit rumspielen will, hat man keine Wahl. Man kann die Referenzvorgaben dann gar nicht mehr erfüllen. Dabei wird übrigens nicht das Script optimiert (das bringt dir sowieso keine Leistung), sondern der tatsächliche x264 Binärcode.

    Einen Zweck erfüllt es aber dennoch: Solange man die Optionen für die x264 Encoding Passes gleich läßt, so läßt sich dadurch (halbwegs..) darstellen, um wie viel schneller sich x264 durch Compileroptimierungen auf die jeweilige CPU Architektur noch ausführen läßt. Sieht momentan aber ned so aus als würds gewaltiges bringen, da x264 ja schon optimierte Assemblercodepfade drin hat...

    Edit: So, Ergebnisse, die nicht mit Referenz vergleichbar sind, sind jetzt noch ein wenig deutlicher markiert, um das hervorzuheben!

    Edit 2: Ich hoffe die meisten von euch verwenden das "Voodooalert Inception" Template für das Forum, sonst sieht man die Farbmarkierungen halt nicht alle so optimal, wenn man eines der hellen Templates einsetzte.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Edited 5 times, last by GrandAdmiralThrawn (November 25, 2010 at 10:53 AM).

  • Ich weiß ned recht. Ich möchte mindestens eine Liste halten, in der alles drin ist, weil man dann einfach alles auf einen Blick sieht. Ergebnisse, die nicht unter Referenzbedingungen entstanden sind können ja trotzdem noch für manche User im Vergleich interessant sein. Wie wirkt sich Swapping aus? Wie wirken sich Compileroptimierungen aus? Linux/Windows? Virtualisierungseinflüsse? usw.

    Ich weiß nicht, ob ich mit der Meinung alleine da stehe, aber ich finde, es macht mehr Sinn diese Ergebnisse im Kontext zu belassen. Ich glaube auch, daß die Markierungen nicht zu undeutlich sind?

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ne, die Markierungen sind schon deutlich genug zu sehen. Bier's Idee ist auch ned schlecht, dann könnte man auch nach Single, Dual oder Quadcore usw filtern :spitze:

    Also Bier, wann ist die Datenbank fertig und implementiert? :)

  • Is drin! Habe mir wieder die Freiheit genommen, selbst rumzuschneiden. ;) Raus mit dem "DualCore" (is eh klar) und auch mit dem "Lenovo" (von wem anderen gibts eh kein ThinkPad R60), und dafür rein mit dem CPU Takt. :)

    Edit: @Bier: Eine Datenbank zu erzeugen is ein winziges Problem. Ein Interface dazu (PHP usw.) schon eher. Außerdem hat das den signifikanten Nachteil, daß es sich ned mehr ins Forum einbetten läßt, und der Bench ist explizit nur für VA gedacht gewesen. Wie gesagt, ein Release auf breiterer Ebene ist eher nicht sinnvoll aus bereits genannten Gründen. Und die Ergebnisliste ausm Forum rauszureißen und auf ein eigenes Web zu setzen find ich auch nicht gut. Sicher kann man dann sortieren und gruppieren. Aber es is dann halt ned mehr in VA eingebettet..

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Edited once, last by GrandAdmiralThrawn (November 26, 2010 at 8:39 AM).

  • Also falls doch jemals Interesse an einem PHP-SKript mit SQL-Backend besteht würde ich das gerne übernehmen, die Übung könnte ich gebrauchen :topmodel: ( El Rey: du hast noch gar nicht geschrieben "Richie, ich brauch da mal ein paar SQL-Statements von dir..." :topmodel: )
    Aber im allgemeinen finde ich das im Forum sowieso okay, weil es zum einen eingebettet ist (ein Addon fürs Forum dafür zu schreiben wäre so Overkill, da kann man gleich mit Wasserstoffbomben auf Spatzen schießen), zum anderen hat man hier noch ein bisschen mehr Kontrolle über die eingetragenen Ergebnisse weil das von GAT hier in gewisser Weise 'moderiert' wird und man zum anderen wirklich weiß von wem welcher Eintrag kommt, falls ihr versteht was ich meine... :topmodel:

    Zum Bench selber: Gestern Abend habe ich das Ganze nochmal auf meiner Workstation in einer RAM-Disk laufen lassen... Wieder abgebrochen beim 2nd Pass bei ~9150 Frames... wtf... :S

  • Hmm, scheinbar hats irgendein Problem bei der RAM-Disk, vielleicht ein Datenkonsistenzproblem? Frage wär nur wieso..

    Datenbank hätte ich schon eingerichtet auf meinem Server (nur zum Spaß eigentlich). Ist zwar ned wirklich normalisiert, aber najo. Werds wohl eher wieder löschen als sonst was. ;)

    Und Kontrolle is auch gut, da hast recht. Und ein Login-/Sessionmanagement in PHP, nein danke... Is wohl besser, wir lassens hier, wie gesagt. :)

    Edit: ACHTUNG!

    Es gibt jetzt eine neue Version von x264benchmark.zip! Diese Version löscht den Ausgabebildschirm von x264 nicht nach Beendigung des Encodingvorganges, so ist es möglich, die Ausgabe von x264 recht einfach zu lesen, falls etwas schief läuft! So sieht man also alle Fehlermeldungen, und auch ob pro Pass die vollen 15.691 Frames kodiert wurden.

    Wenn der Benchmark aus irgendeinem Grund vorzeitig abbricht, kann man das so sehr gut sehen, und man läuft nicht mehr so leicht Gefahr, fehlerhafte Ergebnisse einzuschicken. Verpflichtend für die Ergebnisgültigkeit ist die Version aber nicht.

    Momentan ist das aktualisierte File nur auf [Mirror 0] erhältlich, seth wird noch benachrichtigt, um seinen Mirror upzudaten.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Edited once, last by GrandAdmiralThrawn (November 26, 2010 at 7:00 PM).

  • Trag ich gleich ein. :)

    Wie gesagt, verpflichtend is da nix. Nur lassen sich so Fehler besser erkennen. :)

    Edit: Wie hastn den Faktor errechnet? Ich komm auf 5.26x..

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡! Edit: 2024, finally last year's dry spell is over!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Edited once, last by GrandAdmiralThrawn (November 26, 2010 at 8:21 PM).

  • VA - Mainpage ;} evlt mit kleiner news, kann sich ja die ergebnisse von xin ziehen, und dann auf der VA-Homepage anzeigen im bereich benchmarks.
    natuerlich parralel zum forum hier ;}
    prost,
    Bier.jpg