E' più veloce un programma in Fortran o in Matlab?

Messaggioda ingegnere85 » 09/02/2012, 13:03

Salve a tutti.

Ho tradotto un programma da matlab a fortran con lo scopo di creare un programma più veloce. Ma alla fine mi sono accorto che il programma i Fortran 90 costrutito è più lento di quello in matlab?
Qualcuno sa dirmi a cosa può essere dovuto? O se è possibile che, in alcune applicazioni, il Fortran 90 sia più lento del matlab.
Nel mio caso il programma è pieno di array.
ingegnere85
Starting Member
Starting Member
 
Messaggi: 5
Iscritto il: 09/02/2012, 12:55

Re: E' più veloce un programma in Fortran o in Matlab?

Messaggioda hamming_burst » 09/02/2012, 15:03

Ciao,
è un discorso troppo dipendente dal tipo di codice e strutture dati utilizzate; dall'archiettura, dal compilatore, e via dicendo. Poi "voloce" è un termine che ha il tempo che trova, puoi avere il miglior codice al mondo, ma se è illeggibile è inutilizzabile.

Fortran90 esistente da qualche decennio ha avuto modo di svilupparsi ed essere adattato a varie architettur.
Matlab è un linguaggio ad alto livello, può avare maggiori ottimizzazioni a tempo di compilazione.

Troppo vago il discorso per darti una risposta (lo si può fare anche con C/C++ e Java e si è a capo).

EDIT:
es. che può darti un'idea che un'ottimizzazione dipende dall'architettura, dal compilatore, e via dicendo, un post scritto da apatriarca sulla rappresentazione degli array (in Fortran): column-major o row-major
"Un giorno tutti noi sciocchi saremo morti e allora i vivi andranno avanti. ... tutti gli uomini saranno fratelli e nessuno se ne starà al sole in panciolle a farsi nutrire dai suoi compagni"
[Jack London]

HOFL...che stress!!
Avatar utente
hamming_burst
Moderatore
Moderatore
 
Messaggi: 2266
Iscritto il: 04/07/2009, 10:53

Re: E' più veloce un programma in Fortran o in Matlab?

Messaggioda ingegnere85 » 09/02/2012, 15:16

Quindi, in sostanza, secondo Lei, dipende dal tipo di programma? E quindi non è detto che il fortran90 è sempre più veloce (come tempi di calcolo) del matlab?
ingegnere85
Starting Member
Starting Member
 
Messaggi: 5
Iscritto il: 09/02/2012, 12:55

Re: E' più veloce un programma in Fortran o in Matlab?

Messaggioda apatriarca » 09/02/2012, 16:20

Prima di tutto matlab fa uso di librerie molto ottimizzate per fare le diverse operazioni matriciali. E' quindi semplicemente possibile che la tua implementazione delle diverse operazioni sia più lenta di quella utilizzata in matlab. La differenza di performance tra un programma matlab a uno fortran dipende da molti fattori, ma non è certamente sufficiente riscrivere il programma in fortran per vedere un aumento delle performance, anzi..
apatriarca
Moderatore
Moderatore
 
Messaggi: 2124
Iscritto il: 08/12/2008, 20:37
Località: Torino

Re: E' più veloce un programma in Fortran o in Matlab?

Messaggioda ingegnere85 » 09/02/2012, 16:46

grazie apatriarca. é stato molto chiaro.
ingegnere85
Starting Member
Starting Member
 
Messaggi: 5
Iscritto il: 09/02/2012, 12:55


Torna a Informatica

Chi c’è in linea

Visitano il forum: claudio86 e 1 ospite