[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [riminilug-general] Linguaggio C VS. Linguaggio D



Il mer, 2004-10-06 alle 13:05, Omar Schiaratura ha scritto:
> difficile che vada piu' del c, i linguaggi sono molto simili ed il linker 
> viene fatto con il gcc (ld)

Lo so, infatti non mi aspettavo tanto, ma volevo vedere se gli scarti
erano significativi o irrilevanti ...

> i tempi che ho ottenuto io sono (la media di 3 prove con './pi 10000') su un 
> p4 3 ghz:
> 
> 31 sec. con il d
> dmd pi -O -ofpi -release -inline
> 
> 20 secondi in c
> cc -o pi -O pi.c

Wow, Omar, in questi termini c'e' addirittura il >50% di differenza, ..
che strano, ora provero' a compilare il .c con le ottimizzazioni
relative al mio sistema per vedere le differenze in maniera piu'
concreta.

> 18 secondi in c:
> cc -o pi -O3 -foptimize-register-move -funroll-all-loops -fthread-jumps 
> -lpthread -msse -falign-functions=8  -falign-jumps=8 -falign-labels=8 
> -malign-double -cpu=pentium4 -march=pentium4 -falign-loops=16  pi.c

Scusami solo un dubbio. la funzione 'unroll-all-loops', da quello che
almeno sapevo, oltre a rendere il codice piu' largo, non puo' anche
essere a discapito delle performance ? Lui in pratica non "srotola" le
iterazioni anche quando il numero delle iterazioni stesse non e' certo?

Altri flags invece, tipo   -falign-jumps=N, -falign-funcions=N non li
conosco e non li ho mai usati, quindi andro' a documentarmi a riguardo.

Grazie (sempre) per il tuo apporto.

> 
> ha alcune cose carine, ma esistendo il c non saprei un suo eventuale utilizzo 
> 
 
:))) Vecchio nostalgico! :)))


-- 
Gabriele Zappi <zappig@xxxxxxxxxxxx>
RiminiLUG