Deutsche optimierte Builds - (FAQ/Mirror: 1. Post LESEN!)

  • Zitat von the_official_elwood

    Uli: Auf der Page hast du bei pigfoot stehen, dass es sich um stipe builds handelt. Soll das so ;)

    Nee, latürnich nicht! Hab's gleich mal gefixt. :oops:

    PS: Erstaunlich, es wird ja doch gelesen, was ich schreibe. ;)

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • Hallo! 8)

    Ich teste gerade ein wenig mit den letzten Firefox 2 Builds von tete009, in diesem Falle sein Firefox 2.0 Beta 2 private build (VC++8.0 PGO) Build und Ayakawas letzten Build in dieser Hinsicht (SSE) - also irgendwie kann ich mich nicht entscheiden - entweder sind die beide gleich schnell, oder ich komme mit dem Gucken des Seitenaufbaus nicht mehr hinterher... :lol:

    Wie sind die Erfahrungswerte der anderen diesbzgl? :?:

    Eventuell Pro/Contra zu den beiden Builds? :!:

    Auf jeden Fall können sich tete009 und Ayakawa gegenseitig um den Titel "Master of Firefox Browser Speed" "kloppen"... :wink:

  • Tete009 und Ayakawas Builds sind echt der Hammer, da hast Du schon Recht. Welcher letzlich der Schnellere ist, lässt sich so nicht wirklich feststellen.

  • Dann werfe ich doch mal mmoy mit in die Runde:

    Update!

    1.5.0.7 SSE2 Release Build von mmoy vom 24.09.

    [edit]
    1.5.0.8pre SSE Branch Build von musume vom 26.09.
    1.5.0.8pre MMX Branch Build von musume vom 26.09.


    Optimierte Deutsche Fx-Builds gibts <a href="http://ulibaer.trashmall.de/">hier</a> eventuell mit CTRL-F5 refreshen.

    Bitte benutzt nach Möglichkeit zuerst die mirrors:
    http://one.xthost.info/ulibaer/
    http://one.fsphost.com/ulibaer/

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • Hi!
    So genau weiß ich das selber nicht :oops: aber es soll den Fuchs irgendwie schneller machen 8)
    Also Tete009 kompiliert seine Builds seit neuestem mit Visual C++ 2005 mit PGO (Profilgesteuerte Optimierungen). Hier gibt es weitere Infos zu PGO: http://msdn2.microsoft.com/de-de/library/e7k32f4k.aspx
    Vielleicht wissen ja Sniperwolf und BeeHaa und Uli mehr darüber?

    tete009 Nightly

    Einmal editiert, zuletzt von adxalf (29. September 2006 um 01:11)

  • Zitat von loshombre

    Der Uli, der weiß so wat bestimmt :wink:

    Jo, hab's gerade ausprobiert - kann nur sagen, nicht mein Ding. Erstmal muß man die VS2005 Redistributable installieren (hab's mit der msvcr80.dll von mmoy probiert - geht nicht :| - wieso eigentlich nicht? :x). Irgendwie hat tete009 da was ganz extrem MS-spezifisches gebaut... Wie gesagt - nicht mein Ding. :?

    [edit] Mag sein, daß extreme tete009-Jünger damit glücklich werden - ich jedenfalls nicht.
    [edit2] Ich verabschiede mich hiermit bis nächsten Mittwoch (4. 10.) - see ya all then...

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • Leute, was ist mit euch los? :D Und überhaupt, Eure Lordschaft, das Wissen des Padawans bitte auch mal zur Kenntnis nehmen :P

    PGO ist eine Option des MS-Compilers. Des VC2005pro. Es fiel vielleicht noch keinem so wirklich auf, daß die meisten Distributionen für Win32 mit VisualC kompiliert werden ;) Entweder mit VC2003pro (VC7.1) oder mit VC2005pro (VC8.0). Öfters aber mit VC2005 Express da kostenlos, aber ohne der PGO-Features!

    1.
    Mit VC7.1 optimiert man den Kode indem man beim Kompilieren die dem Kompiler bekannte Architektur vorgibt und er die Ausführung der Befehle daraufhin optimiert. Das wäre zB -G6 (K6-, P2, P3, Athlon) oder -G7 ("Centrino", AthlonXP, Athlon64, Pentium4 und Core). Ok.
    Dazu kann man den Kompiler noch animieren den Quellcode weiter zu analysieren und passende Passagen mit den Streaming-Befehlen zu realisieren (3dnow, SSEx) Dafür kann man solche Passagen in weiser Voraussicht schon beim Programmieren auch entsprechend vorteilhaft auslegen um das bestmögliche Ergebnis zu bekommen.

    2.
    Nun grob zum PGO. Der Kompiler verfährt erstmal nach "1." Es werden Testdateien erzeugt. Sie werden simuliert ausgeführt und analysiert. Daraus erstellt sich der Kompiler Messergebnise und versucht Befehle oder Befehlsfolgen an Stellen die ihm auffällig vorkommen (Latenzen, hohe/lange Last) nochmals selbst zu optimieren. Deswegen kann tete momentan noch keine SSE2 PGO-Version erstellen, weil er keine SSE2 CPU hat wo die 'Vorkompilate' 'vor-ausgeführt' werden könnten (imho).

    Der Nutzen. ALLEINE durch PGO kann man ein Kompilat um 5 bis 10% im Vergleich zu VC2003 beschleunigen. Große Kompiler für Unix-artige beherrschen es schon bissl länger. Erfreulich, daß MS es mittlerweile auch gebacken bekam. mmoy ist von der Quali sehr angetan.

    Die VC8-Erweiterung (redist) für Win braucht man, um solche Kompilate zum Laufen zu bekommen, weil sie gelegentlich auf einige Funktionen dieser DLLs zugreifen.
    Quatsch? Die msvcr.dll (m_icro-s_oft v_isual c r_edistributable) aus dem originalen Fx kennt man. Vom Haus aus ist Win32 Fx für VC7.1 ausgelegt und diese "redistributable" des VC7.1 werden dem Fx einfach beigelegt. Was auch gleich ihren Namen erklärt ;) tete hat noch dran gebastellt und nennt sie tmsvcr und tmemutil.
    Auch der originale Fx für Win32 von der Mozilla-Seite ist also "extrem MS-spezifsich", Uli ;) Das muß auch nicht automatisch des Teufels sein, wenn man Win32 Programme für Win32 Betriebssysteme mit einem Win32 Kompiler kompiliert...

    Kompiliert man Fx nun mit dem VC8, kann man die VC7.1 DLLs nicht mehr benutzen. Daher muß man entsprechende nachinstallieren. Sie können dann systemübergreifend und nicht nur von Fx benutzt werden. In tete's PGO Versionen finden wir vorerst weder msvcr noch tmsvcr. Eben.

    Und nun muß ich mal kurz meine Enttäschung bekünden. Da lasse ich alle meine psychologischen Tricks spielen, bringe tete und ayakawa noch bissl näher, sie helfen sich nun gegenseitig (der eine mit den Patches der andere mit der Einführung in VC8.0), bringe also quais das beste aus 2 Welten zusammen, und was erfahre ich hier im Thread? Unwissenheit und daraus resultierende Skepsis. Was geht denn hier ab? ;)

    Probieren geht über Studieren

    2 Mal editiert, zuletzt von BeeHaa (29. September 2006 um 20:42)

  • Da in dem vorhergien Post schon genug Text steht: Den tete 1.5.0.7 kurz angetestet. Verdammt schnell. Verdammt. Da ich den Cache vorher komplett geleert habe, kam er mir kleinwenig langsamer vor, aber nun... Verdammt schhnell :klasse: Steht dem Ayakawa in nichts nach. Kommt nun nur drauf an, ob er die Kodeerzeugung per PGO noch bissl verfeinern kann und welche Patches dabei sind. Da ist wieder mahowi recht aufgeschlossen und in seiner Wahl recht ausgeschlafen. Ayakawa recht konservativ. Halbwegs ;) Ihm geht es vor allem um Stabilität. Auch wenn ich mit mahowi nie Probleme hatte.

    Naja. Mal gucken was tete sich daraus alles so rauspickt. Bescheid weiß er jedenfalls ;) Wünsche euch viel Spaß am WE mit Benchen :D

    Probieren geht über Studieren

  • Da weiß einer aber eine ganze Menge von der Materie :D Ich freue mich schon tetes neue Rakete ausprobieren zu dürfen. Die Ayakawa SSE war schon nicht schlecht aber eine Kombi aus tete und Ayakawa als MMX build wäre schon bombastisch :wink:

    Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.4) Gecko/2008111022 Minefield/3.0.4 (tete009 SSE PGO)

  • Zitat

    Und überhaupt, Eure Lordschaft, das Wissen des Padawans bitte auch mal zur Kenntnis nehmen


    Aber natürlich! Die dunkle Seite hat immer ein Ohr offen :wink:

    Nur im Moment blick ich da noch nicht so richtig durch. Ich meine nicht mit deiner schönen Erklärung, sondern ob ich schon so n tete pgo nehmen und ausprobieren kann (oder ist das noch so ne instabile Versuchsnummer). Und kommen die DLLs dann auch noch dazu und und und :roll:

  • Nun... Wie ich schon sagte ;) und wie tete selbst über den tmsvc dlls schreibt, sind diese nur für VC2003 builds. Es sei denn er "hackt" auch die vom VC8. momentan ist das nicht der Fall. Für die PGO sind die von der Seite also falsch. Die tmemutil dagegen sollte man nehmen. Am besten die von heute :D Sie alleine, 1x tbind und fertig.

    Stabi. Hier gibt es nicht mehr und nicht weniger Gefahren als mit den anderen tetes. Patches sind keine speziellen und es ändert sich auch sonst nichts, außer daß es mit anderem Kompiler gebacken wurde. Ich wüßte nicht wie sich das auf die Stabi auswirken sollte. Abgesehen davon gabs bei tete noch nie was halbgares und Betas wurden immer als solche gekennzeichnet.
    Abgesehen davon (nochmal) hat Ayakawa schon wesentlich mehr Erfahrung mit dem VC8. Das merkt man auch in dem Build von tete. Es gab so einige Fallen mit dem VC8 und Fx in welche auch Ayakawa oder gar mmoy am Anfang tappten. Davon find ich keine einzige in tete's Build. Sieht wirklich gut aus.

    Läuft hier jetzt "den halben Tag" und das absolut problemlos. Nebenbei Speicherverbrauch 63 MB. Wenn ich überlege, daß ich mit dem originalen Mozilla 1.5.0.2 bei 115 MB nach 1h angefangen habe, korrekte Entwicklung 8)

    Probieren geht über Studieren

    Einmal editiert, zuletzt von BeeHaa (29. September 2006 um 22:50)