|
|
|
![]() |
|
Strumenti |
![]() |
#41 | |
Member
Iscritto dal: Jul 2004
Città: Cenaia
Messaggi: 94
|
Quote:
Ma dovendo creare un software che calcolasse le cifre del pi greco, ho girato un pò su internet e ho trovato tre implementazioni con le librerie GMP. La prima, più lenta, utilizza delle piccole varianti dell'algoritmo di Gauss-Legendre, quello utilizzato dai creatori di SuperPi. La seconda, di mezzo, usa proprio Ramanujan. La più veloce, però, è quella che usa l'algoritmo di chudnovsky, quindi non so se sia vero che l'algoritmo di Ramanujan sia il più veloce in assoluto. Sempre specificando che, cmq, non sono andato a vedere in dettaglio le implementazioni degli algoritmi, quindi se la versione di ramanujan sia ottimizzata o utilizzi l'algoritmo da te indicato. Cmq, in questa pagina è pieno di programmi che calcolano il pigreco. Le differenze tra un programma e l'altro sono abissali. Ci sono anche i sorgenti dei tre programmi di cui ho parlato, se volete conferme. http://www.myownlittleworld.com/pi/otherpi.html Vorrei anche dire che anche le ottimizzazioni a livello di compilatore sono abbastanza importanti in questi casi, e permettono di guadagnare secondi "preziosi".
__________________
It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards). Ho concluso affari con: Queenox Ultima modifica di thegood85 : 10-08-2004 alle 12:28. |
|
![]() |
![]() |
![]() |
#42 |
Senior Member
Iscritto dal: Dec 2000
Città: BARI
Messaggi: 1983
|
"quello basato sulle formule di Ramanujan algoritmi adattati da Borwein"
allora Ramanujan non ha fatto nessun algoritmo per il calcolo di Pi-Greco, Borwein nel 1996 tramite alcune disquisizioni sulla convergenza delle serie quadratiche ha per cosi' dire strutturato un algoritmo con cui si sono raggiunte le 100.000 milioni di cifre di PI-greco, un record.. parlo del 1996. in 8 anni se e' stato elaborato un nuovo metodo piu' efficente questo non e' tra le mie conoscenze. le librerie di calcolo GNU o altre non fanno alcun testo riguardo alle prestazioni di calcolo assolute degli algoritmi di Pi-greco. l'importanza dell'algoritmo di Borwein e' quella di aver dimostrato che le cifre di un numero razionale sono in generale indipendenti le une dalle altre, ecco perche' questo ha suscitato un grande interesse negli anni passati.... per quanto riguarda l'efficenza degli algoritmi sul calcolo di PI, esiste una vasta anzi vastissima letteratura a riguardo, che pero' almeno nel stragrande maggioranza la farei rientrare nei giochi matematici o nelle olimpiadi della matematica, niente di piu'. |
![]() |
![]() |
![]() |
#43 | |
Senior Member
Iscritto dal: Sep 2003
Città: CENAIA (PI)
Messaggi: 1529
|
Quote:
garantito... ciao
__________________
|
|
![]() |
![]() |
![]() |
#44 |
Senior Member
Iscritto dal: Dec 2000
Città: BARI
Messaggi: 1983
|
scusa non ho ben capito cosa intendi...
una volta strutturato un algoritmo di calcolo, uno usa quello che piu' gli aggrada, e le librerie GNU sono soltanto un metodo tra molti, didatticamente valido ma nulla di piu', tanto meno e' quello privilegiato. non sto parlando di prestazioni dovute alla compilazione, ma ai metodi di programmazione dell'algoritmo. il fatto che le librerie GNU siano piu' o meno performanti di quella o quell'altra applicazione non ha alcun significato nella mia esposizione, ho soltanto messo in evidenza come sia articolato questo argomento. a tal proposito se volte misurare le prestazioni pure di due sistemi basta usare software come Mathematica o matlab sia sotto linux che sotto windows e far calcolare le 1m di PI mediante gli algoritmi gia' implementati nei due software, che per forza di cose sono i medesimi, pertanto tutto viene lasciato alla compilazione e all'OS. questo e' un risultanto piu' attendibile dell'efficenza dei due sistemi operativi rispetto a superPI. se qualcuno fa la prova e posta i risultati... io non ho un sistema dual boot linux/win se no li avrei postati io con matlab |
![]() |
![]() |
![]() |
#45 |
Senior Member
Iscritto dal: Sep 2003
Città: CENAIA (PI)
Messaggi: 1529
|
ho capito cosa intendi,....
stiamo andando verso la discussione che ho avuto cn cdimauro x s-pi e yasp e i bench in generale... è chiaro ke ki ci capisce di infomatica considera i bench sintetici come s-pi una cavolata....ma a noi clokker ci piacciono punto e basta... yasp è nato da una mia idea x fare s-pi cn la virgola...e invece nn è stato possibile e quindi abbiamo deciso di fare un bench a se sempre basato sul calcolo del pi-greco ma molto + performante....poi ke sia un programma poco valido o molto valido non posso certo io giudicarlo....a me basta che sia funzionale...e divertirmi a limare qualche decimo o centesimo ottimizzando al max hw e sw ke ho a disposizione....proprio come si fa cn qualsiasi altro bench.....solo ke questo è fatto da un italiano....e tra parentesi un mio grande amico....
__________________
|
![]() |
![]() |
![]() |
#46 |
Senior Member
Iscritto dal: Dec 2000
Città: BARI
Messaggi: 1983
|
i benchmark sono un ottima cosa cosi' come limare i decimi....
ti consiglio di usare x86 assembler per fare i bench cosi' vedi i materialmente i punti di forza di ogni processore |
![]() |
![]() |
![]() |
#47 | |||
Member
Iscritto dal: Jul 2004
Città: Cenaia
Messaggi: 94
|
Quote:
Quote:
E' xò un caso strano, non impossibile (basti vedere la differenza tra l'output di interi e quello di float) ma almeno "particolare". Per aver la certezza andrebbero implementati gli algoritmi almeno con altre librerie o cmq studiare il comportamento delle librerie utilizzate. In ogni caso, se controlli la pagina linkata prima, i programmi più veloci non usano "l'algoritmo di Ramanujan", ma quello di chudnovsky. Ripeto, non voglio mettere in dubbio le tue conoscenze, che sono sicuramente più elevate delle mie, senza ombra di dubbio. Volevo solo dirti che avevo visto questo algoritmo che mi sembrava più veloce di quello di cui avevi parlato. Quote:
Anche se alle Olimpiadi di Informatica ho trovato gente che di informatica conosceva un c***o e andava avanti solo grazie alla matematica. Tanto di cappello per loro e per la matematica in generale. In ogni caso, non ho mai messo in discussione l'importanza dell'algoritmo da te citato (almeno credo; se l'ho fatto, chiedo scusa)
__________________
It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards). Ho concluso affari con: Queenox |
|||
![]() |
![]() |
![]() |
#48 | |
Member
Iscritto dal: Jul 2004
Città: Cenaia
Messaggi: 94
|
Quote:
![]() ![]() ![]() ![]() Io, purtroppo, si! Oltre ad averlo fatto a scuola, ho programmato un bel pò con dei pic, che usano un linguaggio assembly, ovviamente specifico per quei processori! Cmq, dal mio punto di vista, è puù comodo interfacciarsi a librerie già pronte, senza dover riscrivere tutto, solo per "limare qualche decimo" ![]() ![]() ![]() ![]() Certo, 'sta cosa è criticabile, ma, al giorno d'oggi, con la potenza di calcolo, penso sia più uno spreco riscrivere tutto il codice personalmente (che tra l'altro comporta non poca fatica e oltretutto bisogno di conoscenze enormi) che utilizzare librerie già pronte, magari non perfette dal punto di vista della velocità. In ogni caso, mia modesta opinione, niente di più.
__________________
It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards). Ho concluso affari con: Queenox |
|
![]() |
![]() |
![]() |
#49 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#50 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Piccola nota tecnica: si scrive assembly, linguaggio assembly. Assembler è il compilatore!
P.S. Quello dei PIC è veramente ORRIBILE. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#51 | |
Member
Iscritto dal: Jul 2004
Città: Cenaia
Messaggi: 94
|
Quote:
Il codice era, ovviamente, meno ottimizzato, ma potevi fare MOLTE più cose senza sbatterti troppo. Ovviamente poi ricontrollavo il codice generato e dove utile sostituivo con codice assembly, in alcuni casi guadagnavi un casino, visto che il compilatore faceva rigiri pazzeschi!!!
__________________
It is common knowledge that old school hackers all have large beards. Alan Cox,RMS and maddog are brilliant examples. The reason for this is that growing a beard is the most interesting use of one's time when the computer is waiting for fsck to finish messing around after a system crash, and on large filesystems, you'll have plenty of time to waste (this might also be why there are so few female hackers; they can't grow beards). Ho concluso affari con: Queenox |
|
![]() |
![]() |
![]() |
#52 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Ti posso capire benissimo: per poter lavorare coi PIC mi sono scritto un compilatore assembly ad alto livello per disperazione. Ma anche così, non è che fosse comodo lavorarci: l'architettura fa veramente schifo, ivi compresa la parte embedded (timer, porte, ecc.). Per fortuna alla fine il progetto su cui dovevo lavorare è saltato, per cui ho smesso di perdere tempo a josa su quest'abominio.
P.S. Se avessero messo un 6502 e i VIA del VIC20, il chip sarebbe costato meno e i programmatori sarebbero stati molto più produttivi... ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:06.