Newsgroup: it.comp.os.linux.sys
Titolo: Linux con P4 2.2 GHz lento!!! - altre info

 60 Gb HD, + accessori vari (masterizzatore CD-ROM etc)
Dettagli su una serie di prove effettuate su diverse macchine:
(si tratta di un sorgente fortran compilato con g77 o con Microsoft
Developer Studio 4.0, senza accessi particolari a disco e richieste di RAM)
AMD Athlon 1.2  GHz + Mandrake 8.2 : tempo di esecuzione = 2:38
AMD Athlon 1.33 GHz + Mandrake 8.2 : tempo di esecuzione = 2:25
Intel P4   2.2  GHz + Mandrake 8.2 : tempo di esecuzione = 2:43 !!!! ?????
Sotto Windows:
Intel PIII 800  MHz + Win2000      : tempo di esecuzione = 9:59 !!!! ?????
AMD Athlon 1.7  GHz + Win2000      : tempo di esecuzione = 5:55
Intel P4   2.2  GHz + WinXP        : tempo di esecuzione =11:00 !!!! ?????
(La macchina P4 con 2.2 GHz č esattamente la stessa sotto WinXp e MDK 8.2)
Pare che al mio codice non piaccia proprio il processore intel!!!
Any additional help??
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Any additional help??
Il primo commento e' che gia' sapevo che i compilatori Fortran di 
Microsoft fanno pena, ma cosi' tanto non me lo aspettavo proprio ....
Mi puzza tanto di problemi nella gestione della cache di secondo livello 
del processore. Quanto e' grande la tua base dati, ovvero che 
proporzioni ha rispetto alle cache dei processori ?
Il P4 2.2 dovrebbe averne 512 KB, il PIII 800 penso solo 256, gli AMD a 
memoria non mi ricordo.
Per curiosita', hai provato con g77 sotto Cygwin ?
Saluti
GuidoS1966

 
Non ho idea di cosa faccia il tuo prog., probabilmente vai ad usare
delle funzioni che nei processori AMD sono molto ottimizzate...
Prova in qualche gruppo sul fortran, il problema non riguarda certo
Linux in senso stretto, i dati parlano chiaro.
LG
-- 
*********************************************************************
Leandro Gelasi
V year Computer Science Engineering student at Siena University
gela...@lucy.dii.unisi.it
Gilles Villeneuve will live forever
*********************************************************************

 Intel P4   2.2  GHz + Mandrake 8.2 : tempo di esecuzione = 2:43 !!!! ?????
Premessa1 : io odio il fortran
premessa2 : l'ho dovuto usare per la tesi per cui mi rendo conto che a volte 
non c'è scelta...
Andiamo al sodo
1) cosa dice 'cat /proc/cpuinfo' ?
2) Se ti interessano le prestazioni sappi che l'intel distribuisce (  o per 
lo meno lo faceva ) dei compilatori ottimizzati per i suoi processori per 
l'ambiente linux.
3) prova ad utilizzare il comando time, che ci da qualche informazione in 
più
4) sarebbe interessante a questo punto effettuare un po' di profiling per 
capire "dove" viene 'sprecato' il tempo.
5) Prova a compilare ed eseguire questo programma
[ghigo@kiev tmp]$ cat loop.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void nop( ){ }
int main( int argc, char ** argv ){
        int     c1,c2,i1,i2;
        if( argc != 3 ) {
                printf("uso: %s <iter1> <iter2>\n",argv[0]);
                exit(10);
        }
        c1=atoi(argv[1]);
        c2=atoi(argv[2]);
        for( i1=0 ; i1 < c1 ; i1++ ){
                printf("%d/%d\r",i1,c1 );
                fflush( stdout );
                for( i2=0 ; i2 < c2 ; i2++ ) nop( );
        }
        return 0;
}
[ghigo@kiev tmp]$ gcc -Wall -o loop loop.c
[ghigo@kiev tmp]$ time ./loop 20 10000000
5.49user 0.00system 0:05.71elapsed 96%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (84major+13minor)pagefaults 0swaps
( il mio pc è un celeron 400MHz ... )
NON è un vero e proprio benchmark, ma forse così hai qualche idea un po' più 
precisa.
Da quello che ci dici sembra essere 2 cose:
1) un processore sottoclokkato
2) un problema di gestione cache ( bisognerebbe sapere esattamente come il 
tuo programma accede alla memoria )

 tuo programma accede alla memoria )
secondo me il problema \'e nella memoria
 
-- 
	..... il Grande Incubo continua ......
 
                    Jonathan

 veloce: forse non gradisce la DDR
Probabile; sono curioso di sapere come accede la memoria il programma di 
Fabio. 
E mi incuriosisce soprattutto il paragone tra P3 e P4
( sotto XP )
Intel PIII 800  MHz + Win2000      : tempo di esecuzione = 9:59 !!!! ?????
Intel P4   2.2  GHz + WinXP        : tempo di esecuzione =11:00 !!!! ?????
Un momento, un'altra domanda per Fabio: quale è il fabbisiogno di memoria 
del programma ? Se swappa molto allora i risultati sono accettabilissimi...

 il tuo programma accede alla memoria )
Cosa intendi dire?
(Grazie 1000 per il tuo interessamento)
Fabio Bozza


 del programma ? Se swappa molto allora i risultati sono accettabilissimi...
La richiesta di ram è molto elevata ma ve ne è anche a suifficienza.. il
P4 ha ben 1Gb di ram e non mi pare che ci sia grosso swap su disco
Fabio


 
aggiungi -gprof alla riga di comanndo per la compilazione e linking


 P4 ha ben 1Gb di ram e non mi pare che ci sia grosso swap su disco
Scusa se insisto, ma "molto elevata" e "non mi pare" siano termini un po' 
vaghi: almeno un ordine di grandezza lo dovresti avere, su che array lavori 
( quanto sono grandi ? )

> DDR, 60 Gb HD, + accessori vari (masterizzatore CD-ROM etc)
...
Prova un kernel smp:
http://www.suse.de/it/support/inst_support/howto/SuSE8_0_pentium4.html
Ciao.
-- 
***  Per E-mail rimuovi ModE dall'indirizzo  ***
  *** Linux user # 198661 --- ICQ 33500725 ***
*** homepage 
http://web.tiscalinet.it/kailed
 ***
            *** Powered by Linux ***

Puoi provare a scarica il fortran 90 dal sito della intel
c'è la versione gratuita circa 50 mb
va molto bene ( per essere un compilatore fortran)
ti da anche ottimizzazioni sse sse2 mmx 
e compila dal 77 al 2000
