[BraLUG] gcc performance

Ingo Schaefer ingo at ingo-schaefer.de
Do Jan 3 13:32:38 CET 2019


Aloha Stefan,

Was Du hier misst, ist die Performance des erzeugten Codes, nicht die des gcc.

Und da kann es meiner Ansicht nach durchaus sein, dass die Defaults von den bei Dir verwendeten Versionen unterschiedlich sind. Also insbesondere was die Optimierungs-Flags angeht. Fuer korrekte Vergleichbarkeit muesstest Du beide gcc auch manuell mit (identischen) Parametern bauen.

Liebe Gruesse,
Ingo

Gesendet von meinem BlackBerry 10-Smartphone.
  Originalnachricht  
Von: Stefan Krüger
Gesendet: Donnerstag, 3. Januar 2019 08:25
An: bralug at bralug.de
Antwort an: Die BraLUG-Mailingliste
Betreff: [BraLUG] gcc performance

Hallo in die Runde,

ich wollte mal etwas performance messen (eigentlich zwischen Debian-Versionen/Kernelversionen), dabei ist mir ein UNterschied zwischen gcc4.8 und gcc6 aufgefallen, den ich schon merkwürdig finde da ich dachte dass gcc6 schneller sei, 
Das Programm:

cat counter.c 

#include<stdio.h> 

int main() 
{ 
long i; 
for (i = 0; i < 20000000000; i++) 

{ 
char s = "Test"; 

} 
}

---------
dann ganz simpel kompilieren:
gcc-6 counter.c -o counter6; gcc-4.8 counter.c -o counter4.8

---------
und dann laufen lassen:
time ./counter6; sleep 2;time ./counter4.8 

real 0m35.411s
user 0m35.404s
sys 0m0.000s

real 0m32.416s
user 0m32.340s
sys 0m0.004s

auch nach mehreren durchläufen sieht das immer recht konstant aus was den Abstand zwischen gcc4.8 und gcc6 betrifft. So wenn das schon so krass ist bei nen simplen Prgramm, wie isn das dann bei komplexeren Programmen?

Oder hab ich hier irgendwo nen Fehler?

Hier noch gcc Infos:
gcc-6 --version
gcc-6 (Debian 6.3.0-18+deb9u1) 6.3.0 20170516

gcc-4.8 --version
gcc-4.8 (Debian 4.8.4-1) 4.8.4

MfG
Stefan



Mehr Informationen über die Mailingliste Bralug