Firefox eindeutschen
Moderator: Patrick
-
- RISCOS Experte
- Beiträge: 364
- Registriert: 02 Mär 2005, 22:21
Man wird nicht nur mit dem RiscPC Geduld haben müssen. Auch mit dem Iyonix. Der RiscPC ist in der Grafikausgabe dem Iyonix anscheinend teilweise überlegen. Am RiscPC (ohne ViewFinder) hat O2 die Seite deutlich schneller am Bildschirm, als der Iyonix.
Wer die Wahrheit sagt, braucht ein schnelles Pferd.
[quote="cms"]Ziel vom Unix Porting Project ist doch gerade die Infrastruktur zu schaffen um "schnell mal" Sachen zu portieren und das ohne die eigentlichen Programme völlig für RISC OS umzukrempeln.[/quote]
Naja, im Fall von Firefox wohl eher 'überhaupt' portieren, als 'schnell mal'. In der Amiga-Community wird schon seit Jahren an einem Mozilla-Port gewerkt, mit bisher noch keinem herzeigbarem Resultat. Was in der Amiga-Community dann auch für viel Aufruhr gesorgt hat, als auf dem 'Exotensystem' RISC OS auf einmal Firefox lief. :-)
[quote="cms"]Also würde ich mal den Kode von Firefox und den Unix-Libraries ausklammern, auch wenn es hier und dort evtl. Möglichkeiten wie Assember gibt. Bei der UnixLib ist laut Peter ja noch etwas Luft zum Beschleunigen und wer weiß was man alles noch in ChoX11 machen kann. Gerade ChoX11 steht beim Firefox Port an zentraler Stelle, da dort die Schnittstelle zwischen Unix Programm und RISC OS Desktop liegt.[/quote]
Nee, das wäre genau ENTGEGEN dem Sinn vom UPP, den Code von Firefox der auf Unix-Libraries zurückgreift auszuklammern. Damit müßte man wieder für jeden Port sein eigenes Süppchen kochen, und bei jeder neuen Firefox-Version an allem möglichen Stellen zusätzlich nachbessern.
Beschleunigungen der Unixlib und ChoX11, wie du schon sagst, wären hier die bessere Alternative, da sie allen Programmen die darauf aufbauen etwas bringen!
[quote="cms"]Schliessendlich ist, soweit ich weiß, Firefox in C++ geschreiben und da sollte der GCC 4 einiges an Geschwindigkeit bringen. Also ich sehe da noch einigen Möglichkeiten. Aber mit einen Risc PC wird man immer Geduld haben müssen.[/quote]
Hmm, dann hoffen wir mal daß Firefox zu den Ausnahmen gehört, bei denen der GCC 4 wirklich um bis zu 40% schnelleren Code liefert. :-) Davon abgesehen sind die Steigerungen auch bei C++ Code nicht so enorm, bei C ist das Endresultat üblicherweise sogar etwas langsamer. Zumindest war das bei den bisherigen GCC 3.4.4 vs. GCC 4 zu lesen. Aber gut, die wurden üblicherweise auf x86-Systemen getätigt, bei anderen Platformen schauts vielleicht wieder anders aus. Insgesamt scheint man sich in den Linux/BSD-Welten merkbare Steigerungen auch erst vom GCC 4.1 zu erwarten.
Naja, im Fall von Firefox wohl eher 'überhaupt' portieren, als 'schnell mal'. In der Amiga-Community wird schon seit Jahren an einem Mozilla-Port gewerkt, mit bisher noch keinem herzeigbarem Resultat. Was in der Amiga-Community dann auch für viel Aufruhr gesorgt hat, als auf dem 'Exotensystem' RISC OS auf einmal Firefox lief. :-)
[quote="cms"]Also würde ich mal den Kode von Firefox und den Unix-Libraries ausklammern, auch wenn es hier und dort evtl. Möglichkeiten wie Assember gibt. Bei der UnixLib ist laut Peter ja noch etwas Luft zum Beschleunigen und wer weiß was man alles noch in ChoX11 machen kann. Gerade ChoX11 steht beim Firefox Port an zentraler Stelle, da dort die Schnittstelle zwischen Unix Programm und RISC OS Desktop liegt.[/quote]
Nee, das wäre genau ENTGEGEN dem Sinn vom UPP, den Code von Firefox der auf Unix-Libraries zurückgreift auszuklammern. Damit müßte man wieder für jeden Port sein eigenes Süppchen kochen, und bei jeder neuen Firefox-Version an allem möglichen Stellen zusätzlich nachbessern.
Beschleunigungen der Unixlib und ChoX11, wie du schon sagst, wären hier die bessere Alternative, da sie allen Programmen die darauf aufbauen etwas bringen!
[quote="cms"]Schliessendlich ist, soweit ich weiß, Firefox in C++ geschreiben und da sollte der GCC 4 einiges an Geschwindigkeit bringen. Also ich sehe da noch einigen Möglichkeiten. Aber mit einen Risc PC wird man immer Geduld haben müssen.[/quote]
Hmm, dann hoffen wir mal daß Firefox zu den Ausnahmen gehört, bei denen der GCC 4 wirklich um bis zu 40% schnelleren Code liefert. :-) Davon abgesehen sind die Steigerungen auch bei C++ Code nicht so enorm, bei C ist das Endresultat üblicherweise sogar etwas langsamer. Zumindest war das bei den bisherigen GCC 3.4.4 vs. GCC 4 zu lesen. Aber gut, die wurden üblicherweise auf x86-Systemen getätigt, bei anderen Platformen schauts vielleicht wieder anders aus. Insgesamt scheint man sich in den Linux/BSD-Welten merkbare Steigerungen auch erst vom GCC 4.1 zu erwarten.
[quote="psyco_f"]Naja, im Fall von Firefox wohl eher 'überhaupt' portieren, als 'schnell mal'. In der Amiga-Community wird schon seit Jahren an einem Mozilla-Port gewerkt, mit bisher noch keinem herzeigbarem Resultat. Was in der Amiga-Community dann auch für viel Aufruhr gesorgt hat, als auf dem 'Exotensystem' RISC OS auf einmal Firefox lief. :-)[/quote]
Mit "schnell mal" meinte ich nicht den üblichen Weg einer Portierung beschreiten und alles was da nun nicht mit RISC OS funktioniert irgendwie nachzubauen. Das UPP will so wenig wie möglich den orginalen Quellkode für RISC OS umschreiben. Deswegen hat Peter den ganzen Haufen Libraries portiert und schaft so die Infrastruktur um "schnell mal" ein Programm zu portieren. Alle Unix-Portierungen nach dem Firefox-Port werden es einfacher haben, da dann schon eine Menge Libraries für RISC OS bereitstehen. Das ist zwar am Anfang einer härterer Weg, der sich aber später auszahlt. Die Amiganer haben da vermutlich den klassischen Weg beschritten und passen jeden Mist AmigaOS an.
[quote="cms"]Also würde ich mal den Kode von Firefox und den Unix-Libraries ausklammern, ...[/quote]
[quote="psyco_f"]Nee, das wäre genau ENTGEGEN dem Sinn vom UPP, den Code von Firefox der auf Unix-Libraries zurückgreift auszuklammern. Damit müßte man wieder für jeden Port sein eigenes Süppchen kochen, und bei jeder neuen Firefox-Version an allem möglichen Stellen zusätzlich nachbessern.[/quote]
Auslassen, da man dort evtl. einiges mit ARM Assembler usw. machen kann, aber dann bei neuen Versionen der Libraries muß man wieder fast von Null portieren. Die Libraries sind zwingend notwendig, oder man beschreitet den klassischen Weg.
[GCC 4 und C++]
Na, 40% werden es wohl leider nicht werden. Irgendwann hat Peter etwas über die besseren C++ Fähigkeiten von GCC 4 geschrieben. Evtl. war da auch 4.1 gemeint, da versagt mein Gedächnis und ich finde das auf Anhieb nicht. Wenn man mit GCC 3 unter RISC OS mal die "Hello World" "Programme" (für mich sind das keine Programme) kompiliert sieht man schnell, daß der C++ Kode nicht nur viel länger kompiliert, sondern auch viel größeren Kode erzeugt als der C Kode. Mit echten Programmen wird das vermutlich noch deutlicher werden. Also da ist sicher noch einiges drin und der GCC 3 ist ja eher eine klassische Portierung, die beim 4er nicht mehr beschritten werden soll.
[quote="psyco_f"]Insgesamt scheint man sich in den Linux/BSD-Welten merkbare Steigerungen auch erst vom GCC 4.1 zu erwarten.[/quote]
Ja, da die 4.0 erstmal eine neue Infrastruktur eingeführt hat und man sie ab 4.1 erst richtig nutzen wird. Da ist noch einiges an Musik drin - bis zum 5er. :-) Da aber der GCC 4 Port viel näher am Orginal ist, werden Portierungen laut Peter auch viel schneller und einfacher möglich sein. Was fehlt ist aber, daß der GCC 4 überhaupt für RISC OS kommt und das ist vielleicht wichtiger als die Firefoxportierung.
Mit "schnell mal" meinte ich nicht den üblichen Weg einer Portierung beschreiten und alles was da nun nicht mit RISC OS funktioniert irgendwie nachzubauen. Das UPP will so wenig wie möglich den orginalen Quellkode für RISC OS umschreiben. Deswegen hat Peter den ganzen Haufen Libraries portiert und schaft so die Infrastruktur um "schnell mal" ein Programm zu portieren. Alle Unix-Portierungen nach dem Firefox-Port werden es einfacher haben, da dann schon eine Menge Libraries für RISC OS bereitstehen. Das ist zwar am Anfang einer härterer Weg, der sich aber später auszahlt. Die Amiganer haben da vermutlich den klassischen Weg beschritten und passen jeden Mist AmigaOS an.
[quote="cms"]Also würde ich mal den Kode von Firefox und den Unix-Libraries ausklammern, ...[/quote]
[quote="psyco_f"]Nee, das wäre genau ENTGEGEN dem Sinn vom UPP, den Code von Firefox der auf Unix-Libraries zurückgreift auszuklammern. Damit müßte man wieder für jeden Port sein eigenes Süppchen kochen, und bei jeder neuen Firefox-Version an allem möglichen Stellen zusätzlich nachbessern.[/quote]
Auslassen, da man dort evtl. einiges mit ARM Assembler usw. machen kann, aber dann bei neuen Versionen der Libraries muß man wieder fast von Null portieren. Die Libraries sind zwingend notwendig, oder man beschreitet den klassischen Weg.
[GCC 4 und C++]
Na, 40% werden es wohl leider nicht werden. Irgendwann hat Peter etwas über die besseren C++ Fähigkeiten von GCC 4 geschrieben. Evtl. war da auch 4.1 gemeint, da versagt mein Gedächnis und ich finde das auf Anhieb nicht. Wenn man mit GCC 3 unter RISC OS mal die "Hello World" "Programme" (für mich sind das keine Programme) kompiliert sieht man schnell, daß der C++ Kode nicht nur viel länger kompiliert, sondern auch viel größeren Kode erzeugt als der C Kode. Mit echten Programmen wird das vermutlich noch deutlicher werden. Also da ist sicher noch einiges drin und der GCC 3 ist ja eher eine klassische Portierung, die beim 4er nicht mehr beschritten werden soll.
[quote="psyco_f"]Insgesamt scheint man sich in den Linux/BSD-Welten merkbare Steigerungen auch erst vom GCC 4.1 zu erwarten.[/quote]
Ja, da die 4.0 erstmal eine neue Infrastruktur eingeführt hat und man sie ab 4.1 erst richtig nutzen wird. Da ist noch einiges an Musik drin - bis zum 5er. :-) Da aber der GCC 4 Port viel näher am Orginal ist, werden Portierungen laut Peter auch viel schneller und einfacher möglich sein. Was fehlt ist aber, daß der GCC 4 überhaupt für RISC OS kommt und das ist vielleicht wichtiger als die Firefoxportierung.