|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 | |
|
Senior Member
Iscritto dal: Sep 2001
Città: COMO, sul maestoso LARIO
Messaggi: 248
|
Quote:
__________________
Athlon FX-53 / MSI K8N Neo2 Platinum / Corsair TwinX 1024 XL / 2 x WesternDigital Raptor 74GB - RAID 0 / Gainward PowerPack! 2200 GeF. 6800 256MB / Pioneer DVR-108 / LiteOn LTR-52327S / Enermax 550W / HP P1100 21" CRT |
|
|
|
|
|
|
#22 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 178
|
Originariamente inviato da KRYHAWOK
La stessa modalità con cui gestisce l'output rende il codice molto meno leggibile di quanto possa essere un listato C++ non mastodontico. Sono d'accordo, ma non trascuriamo il problema del codice legacy. Ovvero delle *centinaia di migliaia* di righe di codice fortran che ci sono in giro, la maggior parte delle quali testata e ottimizzata. Per buttarla via ci devono essere davvero *ottimi* motivi... (Nota: la parte che fa i calcoli matematici veri e propri in octave -semiclone free di Matlab- e' proprio in F77) perdita di flessibilità, punto di forza C++ (che si usino oggetti o meno). Ma infatti il fortran non e' un linguaggio general-purpose, al contrario del C++
__________________
-----BEGIN GEEK CODE BLOCK----- Version: 3.1.2 GCS/M/E d- +:++ a-- C++>$ UL++ P L++>+++ E---@ W+(-) N++ o? !K w O? M- V- PS PE Y+ PGP- t- 5? X+ R* tv++>+ b+@ DI>+ D+ G e>++ h!(+) r(--) !y? ------END GEEK CODE BLOCK------ [/size] |
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: Sep 2001
Città: COMO, sul maestoso LARIO
Messaggi: 248
|
Condivido che il fortran 77 possa servire laddove serva codice fortemente ottimizzato per velocizzare il calcolo matematico: cmq penso sia indubbio che sia un linguaggio "vecchio" come concezione in senso lato (sempre escludendo la parte sugli oggetti), come "mentalità" di scrittura del codice. Che poi dia ottimi risultati in termini di puro calcolo posso crederci, ma presumo che venga sfruttato a dovere solo in caso di operazioni davvero complesse.
Non sono comunque abbastanza esperto per poter quantificare la reale differenza di velocità che può esserci tra il F77 e il C++.
__________________
Athlon FX-53 / MSI K8N Neo2 Platinum / Corsair TwinX 1024 XL / 2 x WesternDigital Raptor 74GB - RAID 0 / Gainward PowerPack! 2200 GeF. 6800 256MB / Pioneer DVR-108 / LiteOn LTR-52327S / Enermax 550W / HP P1100 21" CRT |
|
|
|
|
|
#24 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
1000x1000, doppia precisione
tempo di calcolo = 2.34 s |
|
|
|
|
|
#25 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dai, come fanno ad essere 2,36 secondi...è impossibile...
Sinceramente 2,36 secondi per oltre 3 miliardi di operazioni mi sembrano un po' pochini... |
|
|
|
|
|
#26 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Quante cose ti potrei rispondere ... tutte in amicizia, per carità.
Ma non siete voi quelli dei puntatori, dell' i++ in stack, del C che controlla tutte le funzioni di macchina, con cui puoi gestire registro per registro, quasi come con l'assembler? (a proposito, te lo ricordi il proto-assembler dell'hp42 o sei troppo giovane?) Bene, do it. Vedi ... ,solo che adesso non ho tempo, ... a forza di fare codici leggibili, con routine (pardon, classi) che fanno poche cose ben definite, dati incapsulati, con interfacce esplicite (tutti i parametri passati by value, per carità), si guadagna in componibilità, modularità, riutilizzabilità, ma si perde in ... velocità ? no, in bellezza. E' la stessa differenza che passa tra un ponte fatto con due pali e una traversa (oggetti modulari, autosufficienti, componibili) e uno fatto di archi e volte per cui se togli un pezzo, viene giù tutto, ma AT ALL (e se stà in piedi, è vero) quanto è più forte, leggero, bello. [Per non parlare dei raggi B davanti ai contrafforti di Orione (è patologia, lo ammetto) dei codici assembler che sparano sull'area di memoria del codice.] Comunque confermo, tempo di calcolo = 2.34 s, non ho specificato nè CPU (una CPU, non PC cluster), nè OS, perchè sò che hai tempi tre volte un ordine di grandezza e quindi che sia Tb1000 o XP2000+ è lo stesso. Ad ogni modo ti do un paio di suggerimenti: tieni conto che il Fortran memorizza per colonne e il C++ per righe (a meno di qualche setting); riduci al minimo il calcolo degli indirizzi e ... vabbè ma non ti posso dire tutto .... Ciao. |
|
|
|
|
|
#27 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 178
|
[quote]Originariamente inviato da a2000
si guadagna in componibilità, modularità, riutilizzabilità, ma si perde in ... velocità ? no, in bellezza. E' la stessa differenza che passa tra un ponte fatto con due pali e una traversa (oggetti modulari, autosufficienti, componibili) e uno fatto di archi e volte per cui se togli un pezzo, viene giù tutto, ma AT ALL (e se stà in piedi, è vero) quanto è più forte, leggero, bello. Personalmente non sono *assolutamente* d'accordo, ma credo che sia per la mia inesperienza.
__________________
-----BEGIN GEEK CODE BLOCK----- Version: 3.1.2 GCS/M/E d- +:++ a-- C++>$ UL++ P L++>+++ E---@ W+(-) N++ o? !K w O? M- V- PS PE Y+ PGP- t- 5? X+ R* tv++>+ b+@ DI>+ D+ G e>++ h!(+) r(--) !y? ------END GEEK CODE BLOCK------ [/size] |
|
|
|
|
|
#28 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
ma siete corregionali di Leonardo da Vinci (un grande della sintesi)o di Cecchi Gori (un glande dell'ana_lisi) ?
|
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Io ho tempi dell'ordine di 100 secondi (il sistema di memorizzazione me lo sono fatto da solo, comunque ho già diverse idee per l'ottimizzazione)...con un Tb1000...
Mi passeresti l'eseguibile...voglio farci un po' di reverse engineering... |
|
|
|
|
|
#30 |
|
Senior Member
Iscritto dal: Sep 2001
Città: COMO, sul maestoso LARIO
Messaggi: 248
|
Che versione del fortran hai usato? Quale compilatore?
__________________
Athlon FX-53 / MSI K8N Neo2 Platinum / Corsair TwinX 1024 XL / 2 x WesternDigital Raptor 74GB - RAID 0 / Gainward PowerPack! 2200 GeF. 6800 256MB / Pioneer DVR-108 / LiteOn LTR-52327S / Enermax 550W / HP P1100 21" CRT |
|
|
|
|
|
#31 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Esatto: "tre volte un'ordine di grandezza" = 2.34 * 3 * 10 *1400/1000 = 98.28 s (io ho un Tb1400).
Vedo con piacere che, piano piano, ti stai avvicinando alla filosofia Fortran e allora prima della pappa pronta (.f90), ti darò un'altro suggerimento: accumula righe e colonne in vettori ausiliari (pochi). Ve l'ho detto se il Fortran fosse solo un linguaggio sarebbe già stato sostituito, è invece uno 'stile' di programmazione e SOPRATTUTTO un marchio di appartenenza. D'altra parte, cosa vuoi, l'apporto proteico (linguaggio macchina) lo pò fornire sia la mortadella (C++) che il prosciutto di Parma (Fortran). Ma il prosciutto di Parma è il prosciutto di Parma (poi c'è qualche 'periferico' che preferisce il San Daniele: Pascal) E col prosciutto di Parma si può fare un'ottima mortadella. Il problema non è il C++ ma lo 'stile' (in senso lato) dei suoi abitanti. Per il giovane guerriero celtico (attento ai Tessitori di Sogni ...) se proprio ti scappa di programmare in C++ per le cose serie, fai la cosa giusta, fallo in modo serio: G. Buzzi-Ferraris Metodi Numerici e Software in C++ Addison-Wesley (forse è uscito anche il II volume) dello stesso autore: Dal Fortran al C++ Questo ti consiglio di leggerlo due volte: la prima dall'ultima pagina alla prima (dal C++ al Fortran) così, per disintossicarsi. Ah dimenticavo, il compilatore: un onestissimo FortranPower Station 4.0 Saluti. |
|
|
|
|
|
#32 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Non vi sarete mica offesi ...
Su, su, avere idee diverse è l'igiene del mondo ... o vi piace il pappa e Ciccia nazionale. Come và l'ottimizzazione ? |
|
|
|
|
|
#33 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sono riuscito ad arrivare a 35 secondi...di meglio per ora non sono riuscito a fare...
|
|
|
|
|
|
#34 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 178
|
Esatto: "tre volte un'ordine di grandezza"
Non e' una sorpresa, IMHO... Che il fortran sia quasi imbattibile per il number crunching e' ormai noto Vedo con piacere che, piano piano, ti stai avvicinando alla filosofia Fortran e allora prima della pappa pronta (.f90) Non credo che la voglia di sbattersi sia esclusiva dei programmatori Fortran (vedi sotto) SOPRATTUTTO un marchio di appartenenza. ...Questo e' positivo o negativo? E col prosciutto di Parma si può fare un'ottima mortadella. Non lo metto in dubbio (anzi, ad esser sincero qualche perplessita la ho, ma il fortran lo conosco solo di nome e di fama per cui risparmio...), ma mi pare di capire che per te il Fortran e' il RE dei linguaggi di programmazione... A costo di dire una (grossa) banalita', personalmente ritengo che per ogni cosa ci sia un perche': se il Fortran e' ancora vivo e vegeto, deve avere necessariamente i suoi innegabili punti di forza. Non a caso alcune delle "truppe ca++ellate" sono subito venute in soccorso del venerando Fortran. Infine, non mi pare granche' furbo -ma ripeto, e' solamente un'opinione personale dettata dalla mia scars(issim)a esperienza- voler usare uno stesso strumento per molti compiti diversi: fatica inutile. Per farmi un batch in console uso script di BASH, non sto certo a scomodare C + API o peggio C++... (esempio stupido) Il problema non è il C++ ma lo 'stile' (in senso lato) dei suoi abitanti. Ovvero? Non sara' che buona parte delle prestazioni in piu' del fortran (all'infuori degli indubbi meriti oggettivi) lo fanno gli algoritmi utilizzati e la maggiore perizia (in una parola: lo stato mentale... quel marchio suddetto) dei programmatori? Ma questa, (per fortuna!) non e' una qualita' esclusiva del fortran, e si applica (quasi) egualmente bene al 99% dei linguaggi sulla terra... Ah dimenticavo, il compilatore: un onestissimo FortranPower Station 4.0 A titolo di curiosita' personale, sarei curioso di sapere come se la cavano g77, gcc e g++ in questo frangente. In particolare, la mia prima idea e' che g++ e gcc se ne starebbero quasi appaiati.
__________________
-----BEGIN GEEK CODE BLOCK----- Version: 3.1.2 GCS/M/E d- +:++ a-- C++>$ UL++ P L++>+++ E---@ W+(-) N++ o? !K w O? M- V- PS PE Y+ PGP- t- 5? X+ R* tv++>+ b+@ DI>+ D+ G e>++ h!(+) r(--) !y? ------END GEEK CODE BLOCK------ [/size] |
|
|
|
|
|
#35 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Bene.
Onesti, bravi, preparati. Forse dovrò ricredermi ... La classe (mò ci vuole) non è acqua, e avere vent'anni sì: acqua limpida e allegra, inconsapevole del mare aperto o di uno stagno di fango. Buonanotte. |
|
|
|
|
|
#36 | |
|
Senior Member
Iscritto dal: Sep 2001
Città: COMO, sul maestoso LARIO
Messaggi: 248
|
Quote:
__________________
Athlon FX-53 / MSI K8N Neo2 Platinum / Corsair TwinX 1024 XL / 2 x WesternDigital Raptor 74GB - RAID 0 / Gainward PowerPack! 2200 GeF. 6800 256MB / Pioneer DVR-108 / LiteOn LTR-52327S / Enermax 550W / HP P1100 21" CRT |
|
|
|
|
|
|
#37 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Si va beh,
ma poi ... dico ... l'esame ... ... l'hai passato o no ? O t' hanno tromb ..., sorry, boCCiato proprio sul Fortran, o magari sul C pus pus ! Ma sta Prof. ... quanti anni ha? Magari 77 ! Allora è un lapsus freudiano: voleva dire " ma quanto MI è inutile a 77 anni !" Il libro l'hai comprato ? Guarda che il tipo è uno nostro Ma nostro di chi? dici tu. Nostro, nostro ... |
|
|
|
|
|
#38 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 178
|
Originariamente inviato da a2000
O t' hanno tromb ..., sorry, boCCiato proprio sul Fortran, o magari sul C pus pus ! -------------------------------------------------------------------------^^^^^^ Me la spieghi, questa?
__________________
-----BEGIN GEEK CODE BLOCK----- Version: 3.1.2 GCS/M/E d- +:++ a-- C++>$ UL++ P L++>+++ E---@ W+(-) N++ o? !K w O? M- V- PS PE Y+ PGP- t- 5? X+ R* tv++>+ b+@ DI>+ D+ G e>++ h!(+) r(--) !y? ------END GEEK CODE BLOCK------ [/size] |
|
|
|
|
|
#39 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Eh, lo sò, forse non è proprio politically correct, però ... ogni tanto ... bisogna svariare.
Diciamo che mi sono ispirato al tuo conte Uguccione. Comunque stavo parlando al giovane guerriero celtico. Spero non se la prenda. Ciao. |
|
|
|
|
|
#40 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 178
|
Originariamente inviato da a2000
Eh, lo sò, forse non è proprio politically correct, però ... ogni tanto ... bisogna svariare. Diciamo che mi sono ispirato al tuo conte Uguccione. Non e' questione di Politcally correct, di cui semplicemente non me ne po' frega' de meno. Vorrei semplicemente sapere quali sono le tue ragioni contro il C++. Visto che pochi post piu' sopra dici che il problema non e' tanto nel linguaggio ma negli utenti... Nota: il C++ NON e' il mio linguaggio di programmazione preferito.
__________________
-----BEGIN GEEK CODE BLOCK----- Version: 3.1.2 GCS/M/E d- +:++ a-- C++>$ UL++ P L++>+++ E---@ W+(-) N++ o? !K w O? M- V- PS PE Y+ PGP- t- 5? X+ R* tv++>+ b+@ DI>+ D+ G e>++ h!(+) r(--) !y? ------END GEEK CODE BLOCK------ [/size] |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:41.



















