Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-04-2007, 11:47   #1
3nigma666
Senior Member
 
L'Avatar di 3nigma666
 
Iscritto dal: Jan 2005
Città: A casa mia
Messaggi: 825
Confronto Complessità : risultato sbalorditivo

2 anni fa , avevo creato per l'università un programma che testava e calcolava, su vettori di numeri di numeri, il tempo di esecuzione dei piu famosi algoritmi di ordinamento:
quicksort , heapsort e insertionsort.

Oggi , a distanza di 3 anni ho deciso cosi di ricompilare e provare quel software (di cui andavo parecchio orgoglioso xkè curato anche nei piu piccoli dettagli)

L'ho eseguito ed ho ottenuto dei risulatati.
Dopo di che ho pensato: proviamo a vedere che tempi ho ottenuto 3 anni fa con il mio vecchio pc.
Premetto: ora ho un AMD 64 bit a 4400+ , mentre prima avevo un AMD a 2200+
Inoltre il sistema operativo sul 2200 era Xp, ora è Vista.

ecco che vi posto i risultati (una porzione) fatti prima con il 2200+ e poi con il 4400+

AMD 2200+: e Xp

OS: Win32
ALGORITMO QUICKSORT
Tempo Minimo: 0.300 sec, Tempo Totale Esecuzione: 475.901 sec
Ripetizioni: 97524; Dimensione Input: 200; Campioni: 100;
Media Tempo singolo Ordinamento: 0,000051078543067 sec; Intervallo di Confidenza: +- 0,000000739924645 sec
================================================================



AMD 4400+ e Vista :

OS: Win32
ALGORITMO QUICKSORT
Tempo Minimo: 0.020 sec, Tempo Totale Esecuzione: 36.803 sec
Ripetizioni: 8240; Dimensione Input: 200; Campioni: 100;
Media Tempo singolo Ordinamento: 0.000037430733442 sec; Intervallo di Confidenza: +- 0.000001859233387 sec
================================================================


Come potete vedere , come ci si poteva aspettare, il tempo di esecuzione del 4400 + è LEGGERMENTE PIU VELOCE (di primo acchitto) (Piu veloce di 1,36 volte)




Questi valori sono abb. coerenti. Infatti se eseguo un algoritmo prima su un computer e poi su un spercomputer, l'incremento prestazionale non è evidentissimo.(come in questo caso)
Se io invece eseguo un algoritmo (che calcola la stessa cosa, nel nostro caso l'ordinamento di un vettore) con complessità migliorata (tipo passo da un algoritmo di complessità O(n^2) a O(n) nel caso peggiore ) allora il tempo di esecuzione avrà un miglioramento DECISAMENTE MAGGIORE CHE NON NEL PASSAGGIO DA COMPUTER A SUPERCOMPUTER ..


Quello che mi ha sbalordito è ben altro...

Il tempo minimo calcolabile è passato da 0.300 sec di Windows Xp a
0.020 di Vista . Questo significa che l'orologio interno di vista ha una precisione migliore..
Nonostante questo l'Intervallo di confidenza di Xp è nettamente inferiore rispetto a Vista!



Questo cosa vuol dire ?
Significa che Vista è risultato molto piu impreciso come orologio nella computazione. Infatti l'intervallo di confidenza indica l'errore (medio)che può esser commesso sulla misurazione del tempo necessario per fare un singolo ordinamento (sia in positivo che in negavito).
TRADOTTO, se al valore Medio per ogni singolo ordinamento io aggiungo (quindi considero il caso peggiore) il suo intervallo di confidenza, ottengo un tempo molto simile a quello ottenuto con l'AMD 2200+ !!







Questo significa che esser passati da un 2200 a un 4400 non ha portato nessun vero significativo VANTAGGIO!


Nasco spontanea la mia domanda: PERCHE' COSTRUIRE PROCESSORI STRAVELOCI, quando alla fin fine , è risaputo che non apportano nessuna miglioria effettiva ! è solo business!?!?!
Perche non pensiamo ad ottimizzare gli algoritmi ?!?! solo in questa maniera si ottengono veri risultati..
3nigma666 è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2007, 16:20   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da 3nigma666 Guarda i messaggi
2 anni fa , avevo creato per l'università un programma che testava e calcolava, su vettori di numeri di numeri, il tempo di esecuzione dei piu famosi algoritmi di ordinamento:
quicksort , heapsort e insertionsort.

Oggi , a distanza di 3 anni ho deciso cosi di ricompilare e provare quel software (di cui andavo parecchio orgoglioso xkè curato anche nei piu piccoli dettagli)

L'ho eseguito ed ho ottenuto dei risulatati.
Dopo di che ho pensato: proviamo a vedere che tempi ho ottenuto 3 anni fa con il mio vecchio pc.
Premetto: ora ho un AMD 64 bit a 4400+ , mentre prima avevo un AMD a 2200+
Inoltre il sistema operativo sul 2200 era Xp, ora è Vista.

ecco che vi posto i risultati (una porzione) fatti prima con il 2200+ e poi con il 4400+

AMD 2200+: e Xp

OS: Win32
ALGORITMO QUICKSORT
Tempo Minimo: 0.300 sec, Tempo Totale Esecuzione: 475.901 sec
Ripetizioni: 97524; Dimensione Input: 200; Campioni: 100;
Media Tempo singolo Ordinamento: 0,000051078543067 sec; Intervallo di Confidenza: +- 0,000000739924645 sec
================================================================



AMD 4400+ e Vista :

OS: Win32
ALGORITMO QUICKSORT
Tempo Minimo: 0.020 sec, Tempo Totale Esecuzione: 36.803 sec
Ripetizioni: 8240; Dimensione Input: 200; Campioni: 100;
Media Tempo singolo Ordinamento: 0.000037430733442 sec; Intervallo di Confidenza: +- 0.000001859233387 sec
================================================================


Come potete vedere , come ci si poteva aspettare, il tempo di esecuzione del 4400 + è LEGGERMENTE PIU VELOCE (di primo acchitto) (Piu veloce di 1,36 volte)




Questi valori sono abb. coerenti. Infatti se eseguo un algoritmo prima su un computer e poi su un spercomputer, l'incremento prestazionale non è evidentissimo.(come in questo caso)
Se io invece eseguo un algoritmo (che calcola la stessa cosa, nel nostro caso l'ordinamento di un vettore) con complessità migliorata (tipo passo da un algoritmo di complessità O(n^2) a O(n) nel caso peggiore ) allora il tempo di esecuzione avrà un miglioramento DECISAMENTE MAGGIORE CHE NON NEL PASSAGGIO DA COMPUTER A SUPERCOMPUTER ..


Quello che mi ha sbalordito è ben altro...

Il tempo minimo calcolabile è passato da 0.300 sec di Windows Xp a
0.020 di Vista . Questo significa che l'orologio interno di vista ha una precisione migliore..
Nonostante questo l'Intervallo di confidenza di Xp è nettamente inferiore rispetto a Vista!



Questo cosa vuol dire ?
Significa che Vista è risultato molto piu impreciso come orologio nella computazione. Infatti l'intervallo di confidenza indica l'errore (medio)che può esser commesso sulla misurazione del tempo necessario per fare un singolo ordinamento (sia in positivo che in negavito).
TRADOTTO, se al valore Medio per ogni singolo ordinamento io aggiungo (quindi considero il caso peggiore) il suo intervallo di confidenza, ottengo un tempo molto simile a quello ottenuto con l'AMD 2200+ !!







Questo significa che esser passati da un 2200 a un 4400 non ha portato nessun vero significativo VANTAGGIO!


Nasco spontanea la mia domanda: PERCHE' COSTRUIRE PROCESSORI STRAVELOCI, quando alla fin fine , è risaputo che non apportano nessuna miglioria effettiva ! è solo business!?!?!
Perche non pensiamo ad ottimizzare gli algoritmi ?!?! solo in questa maniera si ottengono veri risultati..

veramente se adeguatamente ottimizzato per sfruttare il multi-threading il tuo programma col processore nuove avrebbe prestazioni + ke doppie.
E seguendo il tuo ragionamento a quest'ora saremmo ancora con macchine dalla potenza computazionale di un Intel 4004
Ben venga l'innovazione nei processori
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2007, 18:33   #3
3nigma666
Senior Member
 
L'Avatar di 3nigma666
 
Iscritto dal: Jan 2005
Città: A casa mia
Messaggi: 825
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi

veramente se adeguatamente ottimizzato per sfruttare il multi-threading il tuo programma col processore nuove avrebbe prestazioni + ke doppie.
E seguendo il tuo ragionamento a quest'ora saremmo ancora con macchine dalla potenza computazionale di un Intel 4004
Ben venga l'innovazione nei processori
Il multi-threading è una ottimizzazione SOFTWARE
parli esattamernte di ciò che dico io: miglioramento di algoritmo!
Quindi è ovvio l'incremento prestazionale!
Ma in termini di Mhz , l'ìaumento di essi cambia pochissimo ! anzi è quasi ininfluente !
3nigma666 è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2007, 19:51   #4
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4741
Quote:
Originariamente inviato da 3nigma666 Guarda i messaggi
Il tempo minimo calcolabile è passato da 0.300 sec di Windows Xp a
0.020 di Vista . Questo significa che l'orologio interno di vista ha una precisione migliore..
veramente io sapevo di funzioni per misurare una differenza temporale tra due eventi, aventi precisione dell' ordine del decimo di microsecondo e implementate tramite l' utilizzo del time stamp counter della cpu , presenti in windows e altri OS già da molto prima di XP...
Quote:
Questo significa che esser passati da un 2200 a un 4400 non ha portato nessun vero significativo VANTAGGIO!
come benchmark non credo sia molto attendibile...
per dire, non hai fatto la prova di XP sul 4400... quindi non hai un' indicazione (almeno spannometrica) di quanto l' algoritmo scali con il numero di core in funzione del sistema operativo (e quindi dei suoi vincoli temporali)
Quote:
Nasco spontanea la mia domanda: PERCHE' COSTRUIRE PROCESSORI STRAVELOCI, quando alla fin fine , è risaputo che non apportano nessuna miglioria effettiva
di solito, per accelerare il software di cui si ha bisogno (che ovviamente è un sottoinsieme di tutto quello esistente )
Quote:
Perche non pensiamo ad ottimizzare gli algoritmi ?!?!
perchè ottimizzare non sempre conviene, questo in dipendenza di vari fattori
- non tutti i problemi computabili possono essere scomposti in thread di esecuzione multipli
- il tuo programma dipende quasi sempre da delle funzioni di sistema o di libreria, accedute tramite una API - l' implementazione di tali funzioni che l' interfaccia maschera, è spesso strutturata secondo una stratificazione inaggirabile (a meno di non usare una diversa interfaccia - a volte più ostica, quasi sicuramente non portabile), che può aggiungere overhead ma che comunque toglie al programmatore , il controllo sull' implementazione su cosa sta al di sotto di essa
(questo non tanto per l' annosa questione di codice aperto vs chiuso, quanto per il fatto che una interfaccia programmatica sia a tutti gli effetti un contratto in termin idi funzionalità e specifiche supportate)
- se ottimizzare significa ottenere prestazioni numeriche massime in senso assoluto, l' unica cosa da fare allora è eliminare i layer intermedi, eventualmente programmando in linguaggio assembly e ottimizzando direttamente la sequenza operativa, l' ordine e il numero dei salti, la località a livello sia di dati che di codice)
questo dovrebbe farti intuire che l' ottimizzazione "totale" è una chimera, inapplicabile laddove lo scopo è realizzare programmi sempre più funzionali, quindi sofisticati e complessi, nonchè sempre più interoperanti (quindi basati su standard e api comuni) che dovranno prima di tutto essere curati nel design complessivo e dopo, eventualmente, ottimizzati a livello di singoli sottosistemi
Quote:
Il multi-threading è una ottimizzazione SOFTWARE
parli esattamernte di ciò che dico io: miglioramento di algoritmo!
Quindi è ovvio l'incremento prestazionale!
portare delle strutture dati aventi complessità computazione O(n^2) a operare (a partità di funzione) con complessità O(n) o O(1) è un' ottimizzazione algoritmica
il multithreading non è una ottimizzazione ma un accorgimento strutturale, - tanto è vero che un sistema o un' applicazione intrinsecamente multithread prevede un maggior overhead di runtime (oltre a una difficoltà superiore di design e sviluppo)
overhead che è inerente dovuto alla sincronizzazione tra thread concorrenti e compensato in parte dalla scalabilità ottenuta
Quote:
Ma in termini di Mhz , l'ìaumento di essi cambia pochissimo ! anzi è quasi ininfluente !
invece, l' incremento nella frequenza di funzionamento beneficia l' esecuzione di qualsiasi tipo di applicazioni, a meno che queste non si trovino a raggiungere uno sweet spot dato da vincoli temporali interni o esterni (in tal caso e solo in tal caso i cicli macchina in più saranno cicli idle)
lo sweet spot però andrà determinato tramite profiling per la singola applicazione , quindi non ha senso generalizzare sulla base di una singola sull' evoluzione delle CPU general purpose...
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 06-04-2007 alle 19:54.
jappilas è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Il satellite cinese Jilin-1 ha fotografa...
Arrivano i nuovi iPhone ed è subi...
Il chip N1 degli iPhone 17 supporta il W...
La cinese Space Pioneer riesce a eseguir...
Xiaomi copia Apple: arriva la serie 17 e...
A 10 anni dalla prima rilevazione delle ...
Samsung annuncia il rilascio della One U...
La nuova MG4 spopola: già 26.000 ...
Monopattini pericolosi? Secondo una rice...
La Commissione Europea respinge le richi...
The Witcher: ecco le prime immagini dell...
Mitsubishi Electric verso l'acquisizione...
Pasticcio Tesla: nessuno vuole il Cybert...
Qualcomm, il nuovo SoC top di gamma &egr...
La memoria che cambierà l'AI: il ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:32.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v