Linguaggio migliore per eseguire delle operazioni?

Il ritrovo della comunità dove confrontarsi e discutere sulle notizie dal mondo dell'informatica, di Ubuntu e di tutto quello che la riguarda, novità, pettegolezzi e quant'altro.
Scrivi risposta
Avatar utente
Otako
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1424
Iscrizione: giovedì 10 giugno 2010, 22:01
Desktop: pantheon
Distribuzione: elementary OS Luna x86_64
Località: Villafranca di Verona

Linguaggio migliore per eseguire delle operazioni?

Messaggio da Otako »

Salve a tutti,

sto cercando un linguaggio di programmazione che esegua dei calcoli il più velocemente possibile..

ho cercato un po' su internet ma ho trovato poco o niente.. qualcuno ha qualche consiglio? magari con allegata una guida al linguaggio..

in particolare mi servirebbero moduli e radici quadrate.. grazie ;D ;D
p=__import__("string").printable;print("".join(p[p.index(l)-1] for l in "gfssbspwjmmb[hnbjm/dpn"))
Ricordatevi di utilizzare @memoize per le vostre funzioni.
Avatar utente
Fra-90
Prode Principiante
Messaggi: 211
Iscrizione: venerdì 20 aprile 2007, 18:39

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Fra-90 »

ferraro96 ha scritto: Salve a tutti,

sto cercando un linguaggio di programmazione che esegua dei calcoli il più velocemente possibile..

ho cercato un po' su internet ma ho trovato poco o niente.. qualcuno ha qualche consiglio? magari con allegata una guida al linguaggio..

in particolare mi servirebbero moduli e radici quadrate.. grazie ;D ;D
Beh sicuramente C, C++.
Di meglio trovi solo l' assembler per quanto ne sò.
patel
Accecante Asceta
Accecante Asceta
Messaggi: 23782
Iscrizione: martedì 15 aprile 2008, 20:27
Località: Livorno

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da patel »

un bel foglio elettronico non ti basta ? non mi sembrano calcoli particolari da richiedere una programmazione.
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Avatar utente
Elrond
Rampante Reduce
Rampante Reduce
Messaggi: 5018
Iscrizione: sabato 22 novembre 2008, 12:32
Contatti:

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Elrond »

Mi sembrava di avertelo già detto...
Elrond ha scritto: Se devi fare calcoli seri devi orientarti a programmi compilati, come C o fortran
Il mio blog su Ubuntu | Script per vedere canali RAI in diretta senza browser (discussione)
Quando devi inserire nei messaggi del codice usa il tag code, è il pulsante # sopra le emoticon: [code]inserisci il testo qui[/code]
patel
Accecante Asceta
Accecante Asceta
Messaggi: 23782
Iscrizione: martedì 15 aprile 2008, 20:27
Località: Livorno

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da patel »

Elrond ha scritto: Se devi fare calcoli seri .....

in particolare mi servirebbero moduli e radici quadrate.. grazie
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Avatar utente
Elrond
Rampante Reduce
Rampante Reduce
Messaggi: 5018
Iscrizione: sabato 22 novembre 2008, 12:32
Contatti:

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Elrond »

patel ha scritto:
Elrond ha scritto: Se devi fare calcoli seri .....

in particolare mi servirebbero moduli e radici quadrate.. grazie
L'altro giorno aveva bisogno di calcolare 2^50000 (o qualche zero altro, non ricordo), non so di preciso cosa stia facendo ora. A parte il fatto che non so se calc gestisca numeri del genere, se devo fare molti calcoli particolari preferisco personalmente scrivermi un programmino da solo (oppure usare programmi appositi) piuttosto che usare un foglio elettronico, personalmente per molte applicazioni lo trovo scomodo (anche se dipende dai casi, ogni tanto va pure bene)
Il mio blog su Ubuntu | Script per vedere canali RAI in diretta senza browser (discussione)
Quando devi inserire nei messaggi del codice usa il tag code, è il pulsante # sopra le emoticon: [code]inserisci il testo qui[/code]
Bakuriu
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1156
Iscrizione: venerdì 23 ottobre 2009, 23:43
Desktop: KDE4
Distribuzione: Kubuntu 12.04 LTS - x86_64

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Bakuriu »

Ma quanto veloci ti servono?
Di sicuro il C/C++ permettono di fare calcoli molto velocemente, ma se devi lavorare con numeri molto grandi allora devi costruirti delle strutture e reimplementare tutte le operazioni.

Ad esempio in python non c'è limite di grandezza per i numeri, e non mi sembra così lento:

Codice: Seleziona tutto

>>> import time
>>> def cron(func, *args):
...     t1 = time.time()
...     func(*args)
...     return time.time() - t1
... 
>>> def elev_a_potenza(a,b):
...     return a ** b
... 
>>> print cron(elev_a_potenza, 50, 1024)
0.000192880630493
2 decimillesimi di secondo per calcolare 50**1024, non mi sembra malaccio(in realtà un po' di tempo viene perso nelle chiamate a time.time quindi e leggerissimamente di meno).

Ps:
se ti serve 2**50000:

Codice: Seleziona tutto

>>> print cron(elev_a_potenza, 2, 50000)
0.00143504142761
Avatar utente
Otako
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1424
Iscrizione: giovedì 10 giugno 2010, 22:01
Desktop: pantheon
Distribuzione: elementary OS Luna x86_64
Località: Villafranca di Verona

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Otako »

ok quindi mi consigliate C e python?
p=__import__("string").printable;print("".join(p[p.index(l)-1] for l in "gfssbspwjmmb[hnbjm/dpn"))
Ricordatevi di utilizzare @memoize per le vostre funzioni.
Bakuriu
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1156
Iscrizione: venerdì 23 ottobre 2009, 23:43
Desktop: KDE4
Distribuzione: Kubuntu 12.04 LTS - x86_64

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Bakuriu »

ferraro96 ha scritto: ok quindi mi consigliate C e python?
Dipende da quello che vuoi farci.

C è sicuramente più veloce. È di più basso livello quindi "più difficile", o meno immediato. Se devi fare calcoli tipo 2**50000 devi scriverti te le operazioni, perchè non bastano i long int o long double.

Python è di più alto livello(quindi più immediato e un po' più lento).Inoltre i numeri non hanno un limite di dimensione(quindi per fare 2**50000 basta che scrivi 2**50000 senza reinventarti i numeri).
Avatar utente
Otako
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1424
Iscrizione: giovedì 10 giugno 2010, 22:01
Desktop: pantheon
Distribuzione: elementary OS Luna x86_64
Località: Villafranca di Verona

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Otako »

se ti dicessi che devo fare la radice quadrata di un numero e poi dividerlo per ogni numero di una lista? è più veloce C?
p=__import__("string").printable;print("".join(p[p.index(l)-1] for l in "gfssbspwjmmb[hnbjm/dpn"))
Ricordatevi di utilizzare @memoize per le vostre funzioni.
Avatar utente
Elrond
Rampante Reduce
Rampante Reduce
Messaggi: 5018
Iscrizione: sabato 22 novembre 2008, 12:32
Contatti:

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Elrond »

ferraro96 ha scritto: se ti dicessi che devo fare la radice quadrata di un numero e poi dividerlo per ogni numero di una lista? è più veloce C?
Se il calcolo è solo questo, i numeri non sono eccessivamente grandi e non ti serve assoluta precisione questo è uno dei casi in cui un foglio di calcolo va benissimo
Il mio blog su Ubuntu | Script per vedere canali RAI in diretta senza browser (discussione)
Quando devi inserire nei messaggi del codice usa il tag code, è il pulsante # sopra le emoticon: [code]inserisci il testo qui[/code]
patel
Accecante Asceta
Accecante Asceta
Messaggi: 23782
Iscrizione: martedì 15 aprile 2008, 20:27
Località: Livorno

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da patel »

specialmente se chi lo deve fare non sa programmare.
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
j@copo
Prode Principiante
Messaggi: 96
Iscrizione: martedì 5 giugno 2007, 0:17
Desktop: ubuntu
Distribuzione: Ubuntu 12.04.2 LTS, i686
Località: Montegrotto Terme (Padova)

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da j@copo »

Per numeri non troppo grandi andrebbe bene anche il Matlab/Octave.
Ultima modifica di Anonymous il giovedì 19 agosto 2010, 17:38, modificato 1 volta in totale.
Avatar utente
Otako
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1424
Iscrizione: giovedì 10 giugno 2010, 22:01
Desktop: pantheon
Distribuzione: elementary OS Luna x86_64
Località: Villafranca di Verona

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Otako »

direi che i calcoli sono moltooo grandi ( 2^{[1/3x(10^9-1)]x10} )..
p=__import__("string").printable;print("".join(p[p.index(l)-1] for l in "gfssbspwjmmb[hnbjm/dpn"))
Ricordatevi di utilizzare @memoize per le vostre funzioni.
glc1989
Prode Principiante
Messaggi: 52
Iscrizione: lunedì 27 aprile 2009, 14:37
Desktop: Unity
Distribuzione: Ubuntu 12.04 LTS

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da glc1989 »

j@copo ha scritto: Non sarebbe meglio utilizzare ambienti appositi per il calcolo, tipo Matlab/Octave ?
dipende, certamente sono degli ambienti ad hoc, poi dipende, se nel suo caso serve una particolare ottimizzazione per una specifica necessità potrebbe anche essere che quegli ambienti (che conosco poco) non rispondano alle sue esigenze.

Poi dobbiamo ricordarci che è il cervellino del pc che fa i calcoli  ;D
Avatar utente
Otako
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1424
Iscrizione: giovedì 10 giugno 2010, 22:01
Desktop: pantheon
Distribuzione: elementary OS Luna x86_64
Località: Villafranca di Verona

Re: Linguaggio migliore per eseguire delle operazioni?

Messaggio da Otako »

vabbe, proverò con C
(ot)
come faccio a ripristinare ubuntu? nel senso di farlo tornare come dopo l'installazione iniziale? devo re-installarlo oppure c'è qualche altro metodo?
(ot)
p=__import__("string").printable;print("".join(p[p.index(l)-1] for l in "gfssbspwjmmb[hnbjm/dpn"))
Ricordatevi di utilizzare @memoize per le vostre funzioni.
Scrivi risposta

Ritorna a “Bar Ubuntu”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot] e 13 ospiti