mehr Performance durch gcc 3.2 und Prozessoroptimierung

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

mehr Performance durch gcc 3.2 und Prozessoroptimierung

Beitrag von felix-the-cat » 07.10.2002 20:23:47

moin moin,

heute wollte ich mir heute mal gedanken machen wie man seine aktuelle installation 1. für den Prozessor optimiert und 2. das System für den aktuellen gcc 3.2 optimiert.

im unstable zweig ist der gcc 3.2.1 pre schon drin und aus dem amd k7 1.1GHz bei mir sollte doch noch mehr an geschwindigkeit rauszuholen sein.

meine variante dieses vorhaben umzusetzen wäre:
1. /usr/bin/gcc und g++ auf 3.2 linken
2. architektur für CFLAGS und CPPFLAGS auf k6 exportieren
3. per apt-get -b source packete die gewünschten sachen holen und bauen lassen und installieren

reicht das aus bzw. wie denkt ihr darüber?

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 08.10.2002 18:02:19

scheint ja nicht grad ein sehr beliebtes thema zu sein.

naja egal was alle foren/leute etc dazu sagen (es scheint als wären pro's und contras zu hauf), werde ich es jetzt erstmal auf ner extra partition antesten und bei der gelegenheit werde ich auch gleich mal fremd gehen und gentoo 1.4 rc1 antesten.

da man ja bekanntlich nicht ein laufendes system vermurcksen sollte ist es wohl der beste weg.

hat von euch jemand gentoo mal ausprobiert und kann dazu was berichten im bezug auf performance etc.?

wär nett mehr dazu zu erfahren 8)

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 08.10.2002 20:25:33

Du solltest Dir nicht zu viel von diesem Move versprechen. Der Performance Gewinn wird sich im normalen Arbeiten meistens nicht zeigen und liegt normalerweise unter 2%. Einige wenige Anwendungen werden evtl. mehr profitieren, aber das ist auch nicht viel.

Was allerdings besser wird mit gcc-3.2 ist C++ Code, der einfach intelligenter optimiert wird. Auf der anderen Seite muss man dann auch ALLE Libs, die ein Prgramm benutzt recompilieren, da sich das ABI geändert hat.

Ist definitiv Geschmackssache, finde ich. Zum Antesten würde ich aber auch Gentoo bevorzugen, da die Aktion unter Debian deutlich haariger sein könnte...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 08.10.2002 22:36:27

pdreker hat geschrieben:Zum Antesten würde ich aber auch Gentoo bevorzugen, da die Aktion unter Debian deutlich haariger sein könnte...
das habe ich auch schon bemerkt, und jetzt lass ich grad
gentoo mal installieren. ich erhoffe mir eigentlich mehr
performance bei mozilla und openoffice.
bei kde mag es wohl auch noch sinn machen aber
davon lass ich mal lieber die finger weil mir die
bedienung überhaupt nicht gefällt. 8)

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 10.10.2002 10:16:01

test ist jetzt durch und als "frische" installation macht es sich vom gefühl her bemerkbar aber nachdem ich meine configurationen übertrage habe wurde auch ein performanceverlust bemerkbar. ins gesamt lief es aber doch flüssiger und das lag wohl daran, dass der kernel preemptive gepatcht wurde. Also habe ich das mal schnell nachgeholt für die debianbox und siehe da, jetzt läuft die debianbox genauso flüssig egal ob mit gcc 3.2 oder 2.95 kompiliertem system.

insgesamt profitiert man (oder frau) sicher von der umstellung auf den gcc 3.2 aber so recht macht sich der aufwand zur sofortigen umstellung nicht bezahlt.

damit ich das noch stärker untermauern kann wird morgen oder heute abend rh 8 zur hand genommen, da diese ja
umgestellt (auf gcc 3.2) ist und ein kompletter desktop
(gnome und kde) vorhanden ist (die komilierorgie unter gentoo wollte ich mir dann doch nicht antun (openoffice hat schon gereicht).

bei gentoo habe ich mich auf mozilla und openoffice beschränkt und im hinblick auf prozessoroptimierte packete
macht es wirklich keinen sinn wie pdreker schon sagt.

also schaun mer mal was rh zu bieten hat 8)

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 14.10.2002 15:29:21

nun mal ne short zusammenfassung zu red hat 8

die installation lief fast reibungslos (workstation auswahl
brach ab aber desktop ging ohne probleme) und das wirklich
schöne Bluecurve gui sieht vor allem bei gtk+ 2 sehr gut
aus. das ganze macht sich natürlich im handling bemerkbar
und aufgeräumt ist der desktop auch.
der dsl connect lief bis auf eine kleinigkeit innerhalb von
sekunden nach dem login per gui.
der connect zum rh network kann einem aber auf den kecks gehen.
in sachen performance die ich erhofft hatte sieht es schlecht aus.
die grafische verfeinerung der installationroutine und des
metacity/gnome2 desktops ist ein blick wert!
probleme hatte ich aber mal eben schnell die
gtk+ 1 fonts zu ändern, da die kleinen standardfonts sich
wirklich nicht gut machen auf ner 1600x1200er auflösung.

wieder zurück auf debian finde ich mich auch ohne
der redhat-tools gut zurecht, denke aber, dass gerade
diese (wenn sie os wären) sich unter debian in verbindung
mit der installationsroutine sehr gut machen würden.
vor allem für den einsteiger ne gelungene sache. 8)

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 14.10.2002 16:04:59

Ich bin gerade dabei auf einer freien 10Gig Partition ein komplettes Gentoo1.4rc1 von stage1 aus hochzukompilieren... Mal' sehen, was die so zu bieten haben (alles mit gcc-3.2 -march=athlon-tbird -O3 -pipe compiliert)...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 14.10.2002 17:39:31

naja viel spass, bei mir hats nen tag gedauert (gentoo) und
ne halbe ewigkeit nochmal dazu für openoffice aber
auch mit gcc 3.2 finde ich macht sich ein kompletter
umstieg auf dem desktop mit kompilerzusätzen
ala -mach-mir-den-teufel für fast kein prog wirklich
bemerkbar.

ob nun rh oder gentoo oder auch suse, alle haben
immer noch mehr macken zusammen (IMHO)
als sich der umstieg lohnt und der aufwand
unter debian alles umzustellen, ist wie du
schon sagtest eher zeitverschwendung 8)

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 14.10.2002 18:41:04

So, gentoo ist oben (hat knapp 24h gedauert inklusive KDE3 und dem ganze Kram...) Jetzt wird getestet (mencoder / transcode)...

Ist alles etwas ungewohnt "auf der anderen Seite"... ;-) Scheint aber durchaus Potential zu haben, aber apt-get ist trotzdem besser... ;-)

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 14.10.2002 20:15:13

potential ja aber für den normaluser eher unbrauchbar.
sich jedes packet immer wieder auf's neue zu kompilieren
kann auch lästig werden. desweiteren kommen sicherlich
mehr probleme zum tragen, als der 2 stufentest dem
ein debian-release unterliegt, je durchlassen würde.

nicht desto trotz hat es was, halt nicht für jeden ;)

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 14.10.2002 21:16:50

ACK!

Das Paketmangement (wenn man es denn so nennen darf...) installiert jedes Programm einfach neu, wenn man "emerge Paket" sagt, egal, ob das schon da ist oder nicht. Ich hätte wenigstens eine Nachfrage erwartet, oder dass man eine Option ala "--reinstall" braucht. Der absolute Knüller ist aber, dass Pakete, die nur als Abhängigkeit installiert wurden, und nicht explizit angefordert wurden, bei einem Systemupgrade nicht mit aktualisiert werden... 8O

Ach, ja... Mountet niemals eine ext2/3 Partition als vfat und lasst dann fsck darauf los, das geht schief ;-) Gentoo ist tot, es lebe Debian...
mencoder lief ca. 2fps schneller als unter Debian (19 statt 17), aber das werde ich dadurch fixen, dass ich mplayer mit gcc-3.2 aus den Debs von Chritian Marillat baue...

Patrick (wieder zu Hause...)


Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

tylerD
Beiträge: 4068
Registriert: 10.07.2002 17:34:13
Wohnort: Halle/Saale
Kontaktdaten:

Beitrag von tylerD » 15.10.2002 16:29:41

da ihr 2 schon nen bissel rumgespielt habt hab ich mal ne frage an euch.

wie siehts den mit nem schleichenden übergang aus?
also ist es zumbeispiel möglich den kernel schon mit 3.2 zu compilieren und den rest so zu lassen? ich denk mal mit kde progs geht das nicht da die die libs brauchen die dann ja mit dem 2.95 compiert sind. paar pakete sind ja von source installiert und da könnt mann ja bei bedarf mal neucompilieren und dann halt gleich mit 3.2.

cu

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 15.10.2002 16:39:18

Lass es einfach sein.... :(

Vor allem beim Kernel wäre ich sehr zurückhaltend... CPU intensive Anwendungen können aber von gcc-3.2 profitieren. KDE ist ein Riesenaufwand, weil man halt alles neukompileren muss, und es unterm Strich keinen spürbaren Vorteil bringt...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Frankenstein
Beiträge: 145
Registriert: 28.01.2002 14:51:14
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von Frankenstein » 06.11.2002 11:52:21

Und wenn man alles auf SMP System umstellen möchte ?

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 06.11.2002 12:39:32

SMP ist imho eine ganz andere geschichte. das muss auch
die jeweilige software auf SMP ausgelegt sein.

Benutzeravatar
Frankenstein
Beiträge: 145
Registriert: 28.01.2002 14:51:14
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von Frankenstein » 06.11.2002 12:45:16

Das ist schon klar, aber das sind die wenigen wahrscheinlich. Weis jemand welche serverdienste für SMP augelegt sind ? (Samba etc.)

The Ripper
Beiträge: 103
Registriert: 30.03.2002 16:26:45
Kontaktdaten:

Beitrag von The Ripper » 06.11.2002 12:59:56

SMP-fähig sind generell alle Programme, die entweder Threads benutzen oder aus mehreren Prozessen bestehen, alle anderen Programme laufen zwar auch auf SMP-Systemen, benutzen dort allerdings nur einen Prozessor.

Benutzeravatar
Frankenstein
Beiträge: 145
Registriert: 28.01.2002 14:51:14
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von Frankenstein » 06.11.2002 13:33:37

Das ist auch klar. Ich wollte wissen in wie weit debian Packete SMP-fähig sind. Ohne sich mit Debian/Beowulf zu beschäftigen. Und einfah auf einem SMP-System neu zu kompellieren. (mit entsprächenden Parametern, wenn man noch wusste sie die lauten)

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 06.11.2002 15:40:20

Also nochmal. Langsam und in Druckbuchstaben.

JEDES Programm ist SMP fähig! Dazu muss man nichts neukompilieren oder sonst was. Serverprogramme sind normalerweise von vornherein besonders gut dazu geeignet. Es gibt programme die konzeptionell nicht so gut SMP geeignet sind, aber die einzige Möglichkeit das zu ändern ist das Programm in seiner grundlegenden Struktur UMZUSCHREIBEN.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
felix-the-cat
Beiträge: 332
Registriert: 06.01.2002 17:52:43
Wohnort: Germany

Beitrag von felix-the-cat » 06.11.2002 16:42:15

@pdreker...noch 1000 msg's und du gibst einen aus ;)

Benutzeravatar
Frankenstein
Beiträge: 145
Registriert: 28.01.2002 14:51:14
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von Frankenstein » 06.11.2002 23:02:55

Ich glabe Ihr habt meine Frage nicht richtig verstanden. Aser dem wen ich ps aux oder top verwende sehe ich nicht das beide Prozzessoren verwenden werden. Also andersrum welches Programm zeigt mir efecktiefe Auslasting der Prozessoren. z.B.: das PCU0 wird zur 10% und CPU1 zu 5% belastet wird. Und welcher Prosses welchen Prossesor verbraucht etc ...

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 06.11.2002 23:52:41

Du wirst dem System einfach glauben müssen, dass es beide CPUs benutzt. Prozesse können beliebig zwischen den CPUs hin- und herwechseln, weshalb die Werte für eine einzelne CPU nicht aussagekräftig sind.

Welcher Prozess welchen Prozessor verbraucht kann sich mit jedem Context Switch ändern. Meine Kiste macht mit einer CPU im Leerlauf ca. 500 CS/sec, ergo könnte ein Prozess 250 mal auf jeder CPU ausgeführt werden. CPU Affinität wird es wahrscheilich erst mit dem 2.6 Kernel und dem neuen Scheduler geben.

Es ist auch ein völlig unerhebliches Mass, ob ein Prozess eine bestimmte CPU benutzt. In einem Dual System bedeutet jeder Prozessor halt 50% der Gesamtleistung. Wenn also ein monolithischer CPU Fresser läuft ist die Kiste 50% ausgelastet.

Und nein: Ich habe Deine Frage nicht falsch verstanden. Du hast gefragt, welche Debian Pakete SMP fähig sind, und ich habe geantwortet, dass man diese Frage nicht so stellen kann, weil alle Programme grundsätzlich SMP fähig sind. Ob sie das auch ausnutzen ist eine andere Frage. Wenn ein einzelner Prozess es schafft einen Dual Rechner zu 100% auszulasten, dann wird er wohl mit Parallelisierung im Hinterkopf geschrieben worden sein und beide CPUs ausmaxen.

Patrick :evil:
Definitely not a bot...
Jabber: pdreker@debianforum.de

Antworten