[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