[PUG] gcc -O1 geht schneller als -O2 Optimierung

2010-11-26 Thread Denny Schierz
hi,

von einem Professor habe ich eine Mail erhalten, in der er sagt, dass
ein Programm, welches mittels -O2 kompiliert wurde, mehr Zeit für die
Abarbeitung der Datensätze benötigt, als ein Programm welches mittels
dies mit -O1  (also ohne Optimierung) übersetzt wurde. Er bezieht das
auf ein Problem, was wohl mit Vmware selbst zusammenhängen muss.

Ich weiß jetzt allerdings nicht, mit welchen Worten ich Google füttern
muss, um dem ganzen auf die Schliche zu kommen.

cu denny


signature.asc
Description: This is a digitally signed message part
--

PUG - Penguin User Group Wiesbaden - http://www.pug.org


Re: [PUG] gcc -O1 geht schneller als -O2 Optimierung

2010-11-26 Thread lano

Denny Schierz schrieb:

hi,

von einem Professor habe ich eine Mail erhalten, in der er sagt, dass
ein Programm, welches mittels -O2 kompiliert wurde, mehr Zeit für die
Abarbeitung der Datensätze benötigt, als ein Programm welches mittels
dies mit -O1  (also ohne Optimierung) übersetzt wurde. Er bezieht das
auf ein Problem, was wohl mit Vmware selbst zusammenhängen muss.

  

-O1 heißt nicht das keine Optimierung benutzt wird.

bei -O2 werden nur Optimierungen eingeschaltet die mehr Geschwindigkeit 
bringen aber den Speicherverbrauch nicht erhöhen.



Was hat gcc denn mit Vmware zutun ?


-Sven-
--

PUG - Penguin User Group Wiesbaden - http://www.pug.org


Re: [PUG] gcc -O1 geht schneller als -O2 Optimierung

2010-11-26 Thread Laurence Tonke
Hi Denny,

grundsätzlich gilt: Eine höhere Optimierungsstufe bringt nicht immer
mehr Performance.

Die Leute suchen immer gerne den Knopf "tunen", den man einfach drücken
muss und schon läuft alles wie von Zauberhand schneller, aber den gibt
es nicht und wenn es ihn gäbe wäre er vernünftigerweise schon
automatisch aktiviert.
Im Grunde genommen muss man sich seine Anwendung anschauen und überlegen
was man tunen will bzw. untersuchen wo eigentlich das Problem liegt,
denn auch die beste Compiler-Optimierung kann Sachen wie schlecht
formulierte SQL-Statements oder unnötig durchlaufenen Programmcode nicht
beheben.

Gruß
Laurence

On 11/26/2010 11:11 AM, Denny Schierz wrote:
> hi,
> 
> von einem Professor habe ich eine Mail erhalten, in der er sagt, dass
> ein Programm, welches mittels -O2 kompiliert wurde, mehr Zeit für die
> Abarbeitung der Datensätze benötigt, als ein Programm welches mittels
> dies mit -O1  (also ohne Optimierung) übersetzt wurde. Er bezieht das
> auf ein Problem, was wohl mit Vmware selbst zusammenhängen muss.
> 
> Ich weiß jetzt allerdings nicht, mit welchen Worten ich Google füttern
> muss, um dem ganzen auf die Schliche zu kommen.
> 
> cu denny
> 
> 
> 
> --
> 
> PUG - Penguin User Group Wiesbaden - http://www.pug.org



signature.asc
Description: OpenPGP digital signature
--

PUG - Penguin User Group Wiesbaden - http://www.pug.org


Re: [PUG] gcc -O1 geht schneller als -O2 Optimierung

2010-11-26 Thread Laurence Tonke
Vielleicht schickst du ihm einfach folgendes:

http://www.redhat.com/magazine/011sep05/features/gcc/
http://www.redhat.com/magazine/012oct05/features/gcc/

Da steht in der Einleitung:
"In theory, the higher the optimization level, the faster your
application will run. Unfortunately, things are not always so simple.[..]"

Im übrigen hat lano recht: -01 heißt nicht: ohne Optimierung!

Gruß
Laurence

On 11/26/2010 01:11 PM, Laurence Tonke wrote:
> Hi Denny,
> 
> grundsätzlich gilt: Eine höhere Optimierungsstufe bringt nicht immer
> mehr Performance.
> 
> Die Leute suchen immer gerne den Knopf "tunen", den man einfach drücken
> muss und schon läuft alles wie von Zauberhand schneller, aber den gibt
> es nicht und wenn es ihn gäbe wäre er vernünftigerweise schon
> automatisch aktiviert.
> Im Grunde genommen muss man sich seine Anwendung anschauen und überlegen
> was man tunen will bzw. untersuchen wo eigentlich das Problem liegt,
> denn auch die beste Compiler-Optimierung kann Sachen wie schlecht
> formulierte SQL-Statements oder unnötig durchlaufenen Programmcode nicht
> beheben.
> 
> Gruß
> Laurence
> 
> On 11/26/2010 11:11 AM, Denny Schierz wrote:
>> hi,
>>
>> von einem Professor habe ich eine Mail erhalten, in der er sagt, dass
>> ein Programm, welches mittels -O2 kompiliert wurde, mehr Zeit für die
>> Abarbeitung der Datensätze benötigt, als ein Programm welches mittels
>> dies mit -O1  (also ohne Optimierung) übersetzt wurde. Er bezieht das
>> auf ein Problem, was wohl mit Vmware selbst zusammenhängen muss.
>>
>> Ich weiß jetzt allerdings nicht, mit welchen Worten ich Google füttern
>> muss, um dem ganzen auf die Schliche zu kommen.
>>
>> cu denny
>>
>>
>>
>> --
>> 
>> PUG - Penguin User Group Wiesbaden - http://www.pug.org
> 
> 
> 
> --
> 
> PUG - Penguin User Group Wiesbaden - http://www.pug.org



signature.asc
Description: OpenPGP digital signature
--

PUG - Penguin User Group Wiesbaden - http://www.pug.org


Re: [PUG] gcc -O1 geht schneller als -O2 Optimierung

2010-11-26 Thread Denny Schierz
hi,

ich danke schonmal für die Antworten. Aber ich sollte noch etwas dazu
erwähnen:

Das Programm ist von einem Informatiker mit Mathematik als Schwerpunkt
geschrieben worden. 
Die Aufgabe des Programms ist es gerade, den Unterschied zwischen -O1
und -O2 aufzuzeigen. Auf einem Celeron D mit 3Ghz benötigt das Programm
- je nach -O - zwischen 1:40min und 1:45min. In der Virtuellen Kiste
sind es sogar über 2:01min. Dabei kommt eine VM mit Xeon 4 x 2,5Ghz ins
Spiel. Ich habe mal ein wenig "optimiert" und der VM CPUs fest
zugewiesen, sodass diese nicht mehr geteilt werden, mit den anderen VMs.
Nun komme ich immerhin an ~1:32. -O2 und -O1 geben sich aber nicht viel,
außer dass -O2 immernoch ein Tick (im ms Bereich)langsamer ist.

Mal schauen, ob es da noch mehr Möglichkeiten gibt.

cu denny


signature.asc
Description: This is a digitally signed message part
--

PUG - Penguin User Group Wiesbaden - http://www.pug.org


Re: [PUG] gcc -O1 geht schneller als -O2 Optimierung

2010-11-26 Thread Benjamin Peter

Hi,

ich finde die Frage ob es etwas mit der VM zu tun hat gar nicht weit her 
geholt. Durch die Optimierung könnte es meiner Meinung sein, dass etwas 
unbekanntere oder aus Kompatibilitäts-Zwecken nicht verwendete Befehle 
verwendet werden.
Diese sind auf der VM vielleicht sind so gut umgesetzt oder emuliert um 
Probleme bei der Virtualisierung zu behandeln.


Wie sind denn die Ergebnisse ohne VM? Benutzt du die VM hier um die 
Resourcen für das Programm einschränken zu können?


Für mich klingt das danach als würdest du eine Liste von (ASM) Befehlen 
suchen die man in VMs am besten nicht benutzt bzw. direkt eine 
Untersuchung wie Compiler mit VMs umgehen sollten. Stimmt das?



Gruß Ben.

Denny Schierz wrote:

hi,

ich danke schonmal für die Antworten. Aber ich sollte noch etwas dazu
erwähnen:

Das Programm ist von einem Informatiker mit Mathematik als Schwerpunkt
geschrieben worden. 
Die Aufgabe des Programms ist es gerade, den Unterschied zwischen -O1

und -O2 aufzuzeigen. Auf einem Celeron D mit 3Ghz benötigt das Programm
- je nach -O - zwischen 1:40min und 1:45min. In der Virtuellen Kiste
sind es sogar über 2:01min. Dabei kommt eine VM mit Xeon 4 x 2,5Ghz ins
Spiel. Ich habe mal ein wenig "optimiert" und der VM CPUs fest
zugewiesen, sodass diese nicht mehr geteilt werden, mit den anderen VMs.
Nun komme ich immerhin an ~1:32. -O2 und -O1 geben sich aber nicht viel,
außer dass -O2 immernoch ein Tick (im ms Bereich)langsamer ist.

Mal schauen, ob es da noch mehr Möglichkeiten gibt.

cu denny




--

PUG - Penguin User Group Wiesbaden - http://www.pug.org

--

PUG - Penguin User Group Wiesbaden - http://www.pug.org


Re: [PUG] gcc -O1 geht schneller als -O2 Optimierung

2010-11-26 Thread lano

Denny Schierz schrieb:

hi,

ich danke schonmal für die Antworten. Aber ich sollte noch etwas dazu
erwähnen:

Das Programm ist von einem Informatiker mit Mathematik als Schwerpunkt
geschrieben worden. 
Die Aufgabe des Programms ist es gerade, den Unterschied zwischen -O1
und -O2 aufzuzeigen. 

Eine schöne option um zu sehn was gcc aus dem code macht ist "-S"

-Sven-
--

PUG - Penguin User Group Wiesbaden - http://www.pug.org