Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-11-2013, 10:04   #21
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12822
Questo thread ha del paradossale, ancora non si è capito qual è il problema che l'utente dovrebbe risolvere

Prima dovresti dirci cosa stai facendo e poi forse e dico forse ci si pone il problema del linguaggio (o meglio del compilatore).

Se ci sono problemi prestazionali la prima cosa da fare è capire se si sta adottando l'algoritmo corretto, dopodiché bisognerebbe assicurarsi che tu stia dicendo al compilatore di ottimizzare il codice per la velocità, per poi passare ad un profiling del codice e capire se l'utilizzo di cache e quant'altro avviene in maniera ottimale, se si possono usare istruzioni SIMD, multithreading e via discorrendo...

Così mi pare solo una perdita di tempo.

PS: la maggior parte dei processori moderni essendo dotata di branch prediction ottimizza le istruzioni di salto quindi se il codice è abbastanza predicibile le istruzioni di salto sono quasi gratuite.

PS2: se il problema che stai affrontando ha una natura vettoriale si potrebbe pensare di usare la GPU per eseguire questi calcoli.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 10:18   #22
soniaa
Member
 
Iscritto dal: Mar 2010
Messaggi: 46
Analizzando l'uso dei GOTO;

trovandomi nella situazione:
IF a=10 then
...bla bla bla per decine di righe...
END IF
...continuo programma...

cosi' perdo velocita', e' piu conveniente fare l'operazione contraria perche' in caso A<>10 comunque il processore legge tutto il codice per trovare "END IF" per trovare la prossima istruzione da esegiure!
IF a <> 10 then GOTO nextlabel
bla bla bla per decine di righe
END IF
nextlabel:
...continuo programma....

Ultima modifica di soniaa : 17-11-2013 alle 10:24.
soniaa è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 10:35   #23
soniaa
Member
 
Iscritto dal: Mar 2010
Messaggi: 46
E nel caso di ON a GOTO

ON a GOTO 1001,1003,1004,1005,500,860,etc...
anche cosi' perdo velocita' (senza contare che e' difficilmente utilizzare una logica di questo tipo perche a puo essere a volte un numero grande!!)

risulta piu veloce fare (assurdo ma e' cosi'):
IF a=1 then GOTO 1001
IF a=2 then GOTO 1003
IF a=3 then GOTO 1004
etc...

per non parlare dei "SELECT CASE" che per elaborare cio' il processore ci mette una vita!
SELECT CASE a
case 1 GOTO 1001
case 2 GOTO 1003
case 3 GOTO 1004

Una volta con i vecchiii linguaggi si poteva usare
GOTO 1000+a oppure in caso di label "GOTO a$" o GOTO VAL(a$)
soniaa è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 10:53   #24
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
In effetti così si perde tempo a seguire il discorso ...

Per ora non ha importanza il GOTO ma capire qual è il problema.

Cosa vuoi fare con il tuo programma che pensi di risolvere in quel modo?
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 11:30   #25
soniaa
Member
 
Iscritto dal: Mar 2010
Messaggi: 46
Si, le vestre richieste di sapere a cosa sto lavorando sono lecite,
tuttavia vi informo che e' solo un hobby e null'altro.
Trovo le risposte che mi avete dato sino ad ora mooolto soddisfacenti
percui di fronte a tanta buona volonta' da parte vostra non trovo corretto rifiutarmi (perche soprattutto mi vergogno parecchio) di svelare...
Ripeto: e' solo un Hobby... e mi vergogno di fronte a voi 'espertisssssimi programmatori'...ma forse anche voi avrete imparato un po alla volta iniziando proprio da cavolate come queste? sbaglio???

Mi e' capitata sotto mano il PEG Solitaire (tavoliere inglese)
dopo ore/giorni) di gioco non sono mai riuscita a vincere,
poi ho tirato fuori il mio vecchio ZX spextrum e ho realizzato un software per trovare la soluzione, poi accortami che ci sarebbero voluti anni, ho usato un emulatore ZX sul pc e li' la volocita' e' aumentata parecchio spingendo il clock al massimo e anche il moltiplicatore, ma non era sufficiente e quindi ho usato un convertitore BASIC to ASSEMBLER, ma la velocita' non era ancora abbastanza,
quindi ho dovuto aggiornarmi e imparare il Qbasic, e' stata una impresa per me!, ma dovevo aggionarmi (dal giurassico al medievale )
La soluzione e' presto arrivata, ma ora c'e un pensiero che mi stordisce la testa giorno e notte:
voglio trovare TUTTE le soluzioni possibili!
quindi mi serve mooolta piu velocita'
mi sono accorta che il qbasic e' si piu veloce ma ha delle notevoli limitazioni
(non ha i GOTO/GOSUB 1000+a)
e l'uso di variabili del tipo a(1) a(2) a(3) portano via mooolto tempo di elaborazione e cosi mi e' toccato scrivere tutte le 33 mosse moltiplicato per 32 pedine (ho usato WORD trova e sostituisci ovviamente)
Poi mi sono accorta che la memoria in Qbasic e' poca e quindi ho provato il QuickBasic, ma ancora non basta la memoria
Poi ho trovato il QB64
qui la memoria e' abbastanza, ma comunque non tutta quella che mi servirebbe...ma diciamo che riesco ad adattarmi...
Comunque servono 100 anni per trovare tutte le soluzioni (miliardi di combinazioni diverse!!)
Ora l'idea di interpretare il mio programma in una logica binaria
il numero da elaborare e' di 33 bit (33 sono i fori della scacchiera) e cosi' non devo usare variabili del tipo a(1) a(2) ma solo variabili a1,a2,a3,a4 etc
quindi:
esempio:a=&B100000000011111000001111100000111
per trovare velocemente le pedine da muovere e non passare tutti i bit cercando il prossimo a valore 1 userei il logaritmo che mi avete consigliato:

la prima pedina esistente la posso trovare cosi':
if a>&B 100000000000000000000000000000000 (significa che nella scacchiera il foro 1 e' occupato)

la prossima e';
33(decimale) - (INT(ln &B10000000000000000000000000000000))/(ln 2)+1

e cosi' via
ancora non ho testato questa logica, e' per questo che ho chiesto se vi era una formula, e mi e' stata data, ora la provero'....
ho anche chiesto appunto visto che devo riscrivere l'intero programma se mi conveniva scriverlo in un linguaggio piu veloce perche ho il presentimanto che anche cosi ci vorranno anni di calcoli....
Arrampicandomi sugli specchi potre considerare anche che ho diversi PC a casa e sono multiprocessore X4 e X8,
quindi potrei 'scorporare' il programma e farlo elaborare a pezzi su diversi pc,,
se ho ho 1 pc a 8 processori e 4 pc a 4 processori vuol dire che riesco a processare (1 x 8) + (4 x 4) =24 ad una velocita x 24 volte
Ciao, ora ridete pure

Ultima modifica di soniaa : 17-11-2013 alle 11:41.
soniaa è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 13:22   #26
NorysLintas
Senior Member
 
Iscritto dal: Feb 2008
Città: TARANTO
Messaggi: 894
Che io sappia e come ti è stato già detto, se questo hobby e la tua pazienza te lo permettono, impara l'assembly e riformula l'algoritmo.
E' il linguaggio di programmazione di livello più basso e di conseguenza è anche il più veloce, se poi sbaglio correggetemi.
__________________
wdtvlive streaming 3 gen link =>Soluzioni,Opinione,App,Proposte,FAQKobo aura Hd
NorysLintas è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 14:51   #27
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Se lo riscrive in C usando un buon compilatore che usa decenti criteri di ottimizzazione, ottiene sicuramente un risultato apprezzabile.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 14:54   #28
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Non è necessario imparare assembly, è solo necessario aggiornarsi un poco
e riscrivere il programma in un linguaggio moderno facendo uso di cose moderne.
Puoi perfino usare Java secondo me...
http://it.wikipedia.org/wiki/Peg_Solitaire

Il problema è NP complesso effettivamente, però secondo me ce la fai anche senza spendere anni
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2013, 14:54   #29
epimerasi
Member
 
Iscritto dal: Apr 2013
Messaggi: 247
Quote:
Originariamente inviato da soniaa Guarda i messaggi
Si, le vestre richieste di sapere a cosa sto lavorando sono lecite,
tuttavia vi informo che e' solo un hobby e null'altro.
Trovo le risposte che mi avete dato sino ad ora mooolto soddisfacenti
percui di fronte a tanta buona volonta' da parte vostra non trovo corretto rifiutarmi (perche soprattutto mi vergogno parecchio) di svelare...
Ripeto: e' solo un Hobby... e mi vergogno di fronte a voi 'espertisssssimi programmatori'...ma forse anche voi avrete imparato un po alla volta iniziando proprio da cavolate come queste? sbaglio???

Mi e' capitata sotto mano il PEG Solitaire (tavoliere inglese)
dopo ore/giorni) di gioco non sono mai riuscita a vincere,
poi ho tirato fuori il mio vecchio ZX spextrum e ho realizzato un software per trovare la soluzione, poi accortami che ci sarebbero voluti anni, ho usato un emulatore ZX sul pc e li' la volocita' e' aumentata parecchio spingendo il clock al massimo e anche il moltiplicatore, ma non era sufficiente e quindi ho usato un convertitore BASIC to ASSEMBLER, ma la velocita' non era ancora abbastanza,
quindi ho dovuto aggiornarmi e imparare il Qbasic, e' stata una impresa per me!, ma dovevo aggionarmi (dal giurassico al medievale )
La soluzione e' presto arrivata, ma ora c'e un pensiero che mi stordisce la testa giorno e notte:
voglio trovare TUTTE le soluzioni possibili!
quindi mi serve mooolta piu velocita'
mi sono accorta che il qbasic e' si piu veloce ma ha delle notevoli limitazioni
(non ha i GOTO/GOSUB 1000+a)
e l'uso di variabili del tipo a(1) a(2) a(3) portano via mooolto tempo di elaborazione e cosi mi e' toccato scrivere tutte le 33 mosse moltiplicato per 32 pedine (ho usato WORD trova e sostituisci ovviamente)
Poi mi sono accorta che la memoria in Qbasic e' poca e quindi ho provato il QuickBasic, ma ancora non basta la memoria
Poi ho trovato il QB64
qui la memoria e' abbastanza, ma comunque non tutta quella che mi servirebbe...ma diciamo che riesco ad adattarmi...
Comunque servono 100 anni per trovare tutte le soluzioni (miliardi di combinazioni diverse!!)
Ora l'idea di interpretare il mio programma in una logica binaria
il numero da elaborare e' di 33 bit (33 sono i fori della scacchiera) e cosi' non devo usare variabili del tipo a(1) a(2) ma solo variabili a1,a2,a3,a4 etc
quindi:
esempio:a=&B100000000011111000001111100000111
per trovare velocemente le pedine da muovere e non passare tutti i bit cercando il prossimo a valore 1 userei il logaritmo che mi avete consigliato:

la prima pedina esistente la posso trovare cosi':
if a>&B 100000000000000000000000000000000 (significa che nella scacchiera il foro 1 e' occupato)

la prossima e';
33(decimale) - (INT(ln &B10000000000000000000000000000000))/(ln 2)+1

e cosi' via
ancora non ho testato questa logica, e' per questo che ho chiesto se vi era una formula, e mi e' stata data, ora la provero'....
ho anche chiesto appunto visto che devo riscrivere l'intero programma se mi conveniva scriverlo in un linguaggio piu veloce perche ho il presentimanto che anche cosi ci vorranno anni di calcoli....
Arrampicandomi sugli specchi potre considerare anche che ho diversi PC a casa e sono multiprocessore X4 e X8,
quindi potrei 'scorporare' il programma e farlo elaborare a pezzi su diversi pc,,
se ho ho 1 pc a 8 processori e 4 pc a 4 processori vuol dire che riesco a processare (1 x 8) + (4 x 4) =24 ad una velocita x 24 volte
Ciao, ora ridete pure
Stai cercando di risolvere un problema NP-completo.
A seconda della dimensione dell'istanza del problema (e si fa molto presto ad arrivarci con questo tipo di problemi), potrebbe non bastarti neanche il computer della NSA.


http://en.wikipedia.org/wiki/Peg_sol..._peg_solitaire

http://xorshammer.com/2008/11/03/how...ames-are-hard/

http://en.wikipedia.org/wiki/NP-completeness
epimerasi è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 08:36   #30
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Che sfiga eh... 33 bit
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 08:44   #31
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da soniaa Guarda i messaggi
TEST 3 (puro calcolo) QB64 54sec Fortran 110sec

QB64 code:
DIM a AS LONG
FOR a = 1 TO 1000000000
b = a / 1003 + a / 1005
c = a / 1008 + a / 1002
d = a / 1001 + a / 1006
NEXT a

Fortran code:
program first
integer a,b,c,d
b=12
c=13
d=14
do a=1,1000000000
b = a / 1003 + a / 1005
c = a / 1008 + a / 1002
d = a / 1001 + a / 1006
end do
end program first
C# 21 sec.
(Ma non sono paragonabili, ovviamente la mia macchina e' diversa dalla tua)

Codice:
static void Main(string[] args)
        {
            int b,c,d;
            b=12;
            c=13;
            d=14;
            Stopwatch sw = Stopwatch.StartNew();
            Parallel.For(1, 1000000000, a =>
            {
                var b1 = a / 1003 + a / 1005;
                var c1 = a / 1008 + a / 1002;
                var d1 = a / 1001 + a / 1006;
            });
            sw.Stop();
            Console.WriteLine("Elapsed {0}sec", sw.ElapsedMilliseconds / 1000);
            Console.ReadKey();
        }
Immagino in C venga fuori ancora meglio
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 20-11-2013 alle 08:46.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 11:43   #32
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
C# 21 sec.
(Ma non sono paragonabili, ovviamente la mia macchina e' diversa dalla tua)

Codice:
static void Main(string[] args)
        {
            int b,c,d;
            b=12;
            c=13;
            d=14;
            Stopwatch sw = Stopwatch.StartNew();
            Parallel.For(1, 1000000000, a =>
            {
                var b1 = a / 1003 + a / 1005;
                var c1 = a / 1008 + a / 1002;
                var d1 = a / 1001 + a / 1006;
            });
            sw.Stop();
            Console.WriteLine("Elapsed {0}sec", sw.ElapsedMilliseconds / 1000);
            Console.ReadKey();
        }
Immagino in C venga fuori ancora meglio
Codice:
package spdtst;

public class SpeedTest {

	public static void main(String[] args) {
		long b,c,d;
		b=12;
		c=13;
		d=14;
		long now = System.nanoTime();
		for(int a=0;a<1000000000;a++){
			long b1 = a / 1003 + a / 1005;
			long c1 = a / 1008 + a / 1002;
			long d1 = a / 1001 + a / 1006;
		}
		long stop = System.nanoTime();
		System.out.println("Elapsed time=");
		System.out.println((stop-now)/1000);
	}

}
Java da dentro Eclipse impiega tra i 5 e gli 8 ms
Secondo me c'e' qualcosa che rallenta il tuo codice c# oppure ho sbagliato io a tradurre il sorgente.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!

Ultima modifica di ingframin : 20-11-2013 alle 13:38.
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 13:41   #33
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    long b,c,d;
    int a;
    long b1;
    long c1;
    long d1;
    clock_t start, stop;
    b=12;
	c=13;
	d=14;
	start = clock();
	for(a=0;a<1000000000;a++){
		b1 = a / 1003 + a / 1005;
		c1 = a / 1008 + a / 1002;
		d1 = a / 1001 + a / 1006;
	}
    stop = clock();
	printf("Elapsed time=\t%.9f\t%.9f",stop,start);

    return 0;
}
Questo e' in C. Pero' c'e' qualcosa che non mi torna nella misura dei tempi...
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 13:58   #34
Storti
Junior Member
 
Iscritto dal: Sep 2013
Messaggi: 24
Quote:
Originariamente inviato da ingframin Guarda i messaggi
Codice:
printf("Elapsed time=\t%.9f\t%.9f",stop,start);
Questo e' in C. Pero' c'e' qualcosa che non mi torna nella misura dei tempi...
Prova così:
Codice:
printf("Elapsed time: %f\n", (stop - start) / CLK_TCK);
La misurazione che hai fatto col programma Java è evidentemente sbagliata.
Storti è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 14:18   #35
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
@infrag e gugo: grazie al cazzo, non usate le variabili quindi in release il compilatore salta tutto il ciclo a piè pari!!
Nel ciclo cmq assegnate a b, c e d, non create delle var (o dei long) aggiuntive visto che il codice originale assegna a b, c, d.
Fate stampare b alla fine, insieme al tempo, e vedrete che in release ci vorranno un paio di secondi almeno (2 sec sul mio i5 vecchio di 2 anni).
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 14:52   #36
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Su i7 3770K @default:

con MinGW 4.8.1 in DEBUG (perchè in release MinGW salta il ciclo e calcola direttamente b con a = 1000000000, mettendoci 0 secondi):
https://public.bn1.livefilestore.com...CPP.JPG?psid=1

con gfortran 4.8.1 in DEBUG:
https://public.bn1.livefilestore.com...F77.JPG?psid=1

Con gfortran in release ci mette 1.9 secondi circa, quindi siamo lì, il limite inferiore è sui 2 secondi con questa potenza di calcolo.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 15:22   #37
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Quote:
Originariamente inviato da Storti Guarda i messaggi
Prova così:
Codice:
printf("Elapsed time: %f\n", (stop - start) / CLK_TCK);
La misurazione che hai fatto col programma Java è evidentemente sbagliata.
Mi spieghi come correggerla quella in Java?
Credevo che usando System.nanoTime() venisse precisa la misura.
Quello che non mi torna e' la precisione.
Da documentazione sono nanosecondi, quindi diviso 1000 sono microsecondi.
~5000 microsecondi sono millisecondi.
Dove sbaglio?

Execution time datomi da Codeblocks per la versione in C=0.010s... Sono 10 millisecondi.
Anche con la printf che mi suggerisci tu mi stampa sempre elapsed time 0.000000

EDIT:
Stampando le variabili il tempo della versione Java sale a circa 9s
Il tempo della versione in C rimane sui 12ms
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!

Ultima modifica di ingframin : 20-11-2013 alle 15:39.
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 15:26   #38
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da ingframin Guarda i messaggi
Mi spieghi come correggerla quella in Java?
Credevo che usando System.nanoTime() venisse precisa la misura.
Quello che non mi torna e' la precisione.
Da documentazione sono nanosecondi, quindi diviso 1000 sono microsecondi.
~5000 microsecondi sono millisecondi.
Dove sbaglio?
Non so se hai letto, ma al 99% delle probabilità il ciclo che hai scritto viene (intelligentemente) saltato in toto dal compilatore, per quello ci mette solo 8 millisecondi.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 15:27   #39
airon
Senior Member
 
Iscritto dal: Feb 2004
Città: milano
Messaggi: 2148
Per curiosità ho provato sul mio mac i7-3770, in terminale.
Quindi ho usato time da li.

compilando con gcc senza nessuna ottimizzazione:
B= 1992032
real 0m9.285s
user 0m9.278s
sys 0m0.006s

gcc -O2:

B= 1992032
real 0m0.003s
user 0m0.001s
sys 0m0.001s

airon è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2013, 15:28   #40
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da airon Guarda i messaggi
Per curiosità ho provato sul mio mac i7-3770, in terminale.
Quindi ho usato time da li.

compilando con gcc senza nessuna ottimizzazione:
B= 1992032
real 0m9.285s
user 0m9.278s
sys 0m0.006s

gcc -O2:

B= 1992032
real 0m0.003s
user 0m0.001s
sys 0m0.001s

gcc con le ottimizzazioni calcola il ciclo con a = 999999999 (cioè l'ultimo valore), per quello ho fatto le prove in debug.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Il telescopio spaziale James Webb ha cat...
Amazon scatenata nel weekend: sconti sug...
Pulizia per 45 giorni senza pensieri: il...
Apple taglia il prezzo degli AirPods Pro...
Tutti i MacBook Air M4 2025 da 13 pollic...
Roborock QV 35A a 429€ o Dreame L40 Ultr...
SpaceX Starship: Ship 37 ha eseguito due...
Sharkoon punta sui case a basso costo, m...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
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: 06:12.


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