Pagina 2 di 2

Re: Programmino su linux molto più veloce che su Windows

Inviato: giovedì 27 settembre 2007, 16:49
da difesaparcosempione
MA STAI usando lo stesso computer !?!  (rotfl)
tipo multiboot ubuntu/XP
ciao

Re: Programmino su linux molto più veloce che su Windows

Inviato: giovedì 27 settembre 2007, 17:54
da andyoso
difesaparcosempione ha scritto: MA STAI usando lo stesso computer !?!  (rotfl)
tipo multiboot ubuntu/XP
ciao
Certo!

Re: Programmino su linux molto più veloce che su Windows

Inviato: giovedì 27 settembre 2007, 19:00
da Markon
Il programma chiede quale numero n della seguenza di Fibonacci si vuole conoscere.
Es. se n=4 il programma calcolerà il quarto numero della seguenza di fibonacci, cioè 3.
Questo programmino è famoso per la sua lentezza che aumenta esponenzialmente con l'aumentare di n.
Ma ho notato che con Linux il tempi diminuiscono enormemente!!! Shocked

Es. Lo stesso codice compilato su Windows con Dev-C++ con n=30 ci mette 5minuti e 10 secondi, mentre con Linux, compilato con Anjuta, ci mette solo 1minuto e 23 secondi
Ciao!

Sicuramente c'è qualche errore di programmazione, perchè una funzione fibonacci che calcoli i numeri fino a 30 deve essere scattante.

Guarda, in Python (che da quello che so è più lento di C e C++ ..):

Codice: Seleziona tutto

def fibonacci(n): 

     risultato = []
     a, b = 0, 1
     while b < n:
         risultato.append(b)
         a, b = b, a+b
     return risultato

print fibonacci(100)
Bye

Re: Programmino su linux molto più veloce che su Windows

Inviato: giovedì 27 settembre 2007, 21:21
da andyoso
Markon ha scritto:
Il programma chiede quale numero n della seguenza di Fibonacci si vuole conoscere.
Es. se n=4 il programma calcolerà il quarto numero della seguenza di fibonacci, cioè 3.
Questo programmino è famoso per la sua lentezza che aumenta esponenzialmente con l'aumentare di n.
Ma ho notato che con Linux il tempi diminuiscono enormemente!!! Shocked

Es. Lo stesso codice compilato su Windows con Dev-C++ con n=30 ci mette 5minuti e 10 secondi, mentre con Linux, compilato con Anjuta, ci mette solo 1minuto e 23 secondi
Ciao!

Sicuramente c'è qualche errore di programmazione, perchè una funzione fibonacci che calcoli i numeri fino a 30 deve essere scattante.

Guarda, in Python (che da quello che so è più lento di C e C++ ..):

Codice: Seleziona tutto

def fibonacci(n): 

     risultato = []
     a, b = 0, 1
     while b < n:
         risultato.append(b)
         a, b = b, a+b
     return risultato

print fibonacci(100)
Bye
Infatti se scrivi il programma con il metodo dell'iterazione, è velocissimo....è la ricorsione che rende il sorgente + leggibile a discapito della velocità.

Re: Programmino su linux molto più veloce che su Windows

Inviato: giovedì 27 settembre 2007, 22:10
da gennaro
è la ricorsione che rende il sorgente + leggibile a discapito della velocità.
Scusate se mi ripeto... comunque il problema è quel cout dentro alla funzione FIBONACCI, levalo e sarà velocissimo anche con la ricorsione! Io la penso così, poi vedi te...  :D

Re: Programmino su linux molto più veloce che su Windows

Inviato: giovedì 27 settembre 2007, 22:42
da andyoso
gennaro ha scritto:
è la ricorsione che rende il sorgente + leggibile a discapito della velocità.
Scusate se mi ripeto... comunque il problema è quel cout dentro alla funzione FIBONACCI, levalo e sarà velocissimo anche con la ricorsione! Io la penso così, poi vedi te...  :D
Il problema non  è tanto la velocità della ricorsione in se, ma il fatto che su linux (CON LO STESSO SORGENTE) gira 3 volte + veloce che su windows.

Re: Programmino su linux molto più veloce che su Windows

Inviato: giovedì 27 settembre 2007, 22:57
da Guiodic
andyoso ha scritto:
gennaro ha scritto:
è la ricorsione che rende il sorgente + leggibile a discapito della velocità.
Scusate se mi ripeto... comunque il problema è quel cout dentro alla funzione FIBONACCI, levalo e sarà velocissimo anche con la ricorsione! Io la penso così, poi vedi te...  :D
Il problema non  è tanto la velocità della ricorsione in se, ma il fatto che su linux (CON LO STESSO SORGENTE) gira 3 volte + veloce che su windows.
in effetti però una parte del problema potrebbe essere l'output sullo schermo. Prova a toglierlo.

Re: Programmino su linux molto più veloce che su Windows

Inviato: venerdì 28 settembre 2007, 16:50
da difesaparcosempione
Cosa bisogna fare per far girare quel codice pyton ?
I am a niubbo !

ciao

così faccio il controllo/confronto dei 2 algoritmi ...
:-\

Re: Programmino su linux molto più veloce che su Windows

Inviato: venerdì 28 settembre 2007, 20:31
da Markon
Cosa bisogna fare per far girare quel codice pyton ?
I am a niubbo !

ciao

così faccio il controllo/confronto dei 2 algoritmi ...
Allora, devi salvare quel codice in un file "NOME.py", e poi lo lanci con il comando:

Codice: Seleziona tutto

python NOME.py
Bye

Re: Programmino su linux molto più veloce che su Windows

Inviato: sabato 29 settembre 2007, 20:24
da mastyx
Ma è normale che sia piu veloce !!! e tutto piu veloce su linux :-)

Re: Programmino su linux molto più veloce che su Windows

Inviato: sabato 29 settembre 2007, 20:42
da andyoso
in effetti però una parte del problema potrebbe essere l'output sullo schermo. Prova a toglierlo.
Ma dovrebbe essere un problema anche per linux.....ed invece, anche con il cout, su linux gira più veloce.....Misteri dell'informatica....

Re: Programmino su linux molto più veloce che su Windows

Inviato: sabato 29 settembre 2007, 20:54
da Guiodic
andyoso ha scritto:
in effetti però una parte del problema potrebbe essere l'output sullo schermo. Prova a toglierlo.
Ma dovrebbe essere un problema anche per linux.....ed invece, anche con il cout, su linux gira più veloce.....Misteri dell'informatica....
Sì ma è possibile che il terminale sia più veloce che il cmd di Windows e questo può influire.

Re: Programmino su linux molto più veloce che su Windows

Inviato: domenica 30 settembre 2007, 10:32
da paper0k
La ricorsione mette a "dura" prova processore, stack e memoria, diverse modalità nella loro gestione (tra GNU/Linux e Win) possono portare a performance differenti, forse questo ne è un esempio ;)

Re: Programmino su linux molto più veloce che su Windows

Inviato: domenica 30 settembre 2007, 10:35
da andyoso
Capito, Grazie (good) (b2b)

Re: Programmino su linux molto più veloce che su Windows

Inviato: domenica 30 settembre 2007, 11:50
da Guiodic
Sì però prova a togliere l'output su entrambi i programmi, così facciamo una verifica di quanto pesa questo fattore.

Re: Programmino su linux molto più veloce che su Windows

Inviato: domenica 30 settembre 2007, 13:57
da gennaro
Guiodic ha scritto: Sì però prova a togliere l'output su entrambi i programmi, così facciamo una verifica di quanto pesa questo fattore.
Quoto! Provare non costa nulla... ;)