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 13-10-2008, 17:31   #41
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Alè repne scasb
(seguo sempre i contest di GugoXX con interesse)
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2008, 18:04   #42
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
...
*** Tempo per caricamento dati e creazione strutture: 0.890 secondi

*** Tempo per ricerca della soluzione difficile: 0.000 secondi

*** Tempo totale per l'intera elaborazione: 0.890 secondi
[/code]

Tempo per sviluppare il software 2 ore.

Sui tempi di calcolo, e' possibile aumentare le prestazioni di un ordine di grandezza con poche modifiche al codice, scendendo cosi' sotto il decimo di secondo. E' anche possibile andare assai piu' rapidi di cosi'.
Grande!

Puoi spiegare un po' l'algoritmo(e soprattutto le ottimizzazioni per scendere sotto il decimo di secondo)?

Ciao
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2008, 18:09   #43
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7240
ho ottimizzato un attimino il codice per non fare proprio schifo:
Codice:
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <time.h>
#include <vector>

using namespace std;

class Ruota {
public:
    Ruota(string data, string ruota, map<int,int> &estrazioni) {
        m_estrazioni = estrazioni;
        m_data = data;
        m_ruota = ruota;
    }

    string getData() {
        return m_data;
    }

    string getRuota() {
        return m_ruota;
    }

    bool contiene(vector<int> &valori) {
        for(unsigned int i = 0; i<valori.size(); ++i ) {
            if(m_estrazioni.count(valori[i]) == 0) {
                return false;
            }
        }
        return true;
    }

private:
    map<int,int> m_estrazioni;
    string m_data, m_ruota;
};

vector<string> trova(ifstream &dataFile, ifstream &findFile) {
    vector<string> results;
    vector<int>* valori;
    int numRighe;
    string tmp;
    char ch;

    findFile >> tmp >> numRighe;
    valori = new vector<int>[numRighe];

    for(int i=0; i<numRighe; ++i) {
        char line[50];
        findFile.getline(line, 50);
        if(line[0] == 13) {
            --i;
            continue;
        }

        stringstream lineStream(line);
        while(lineStream.good()) {
            int valore;
            lineStream >> valore >> ch;
            valori[i].push_back(valore);
        }
    }

    int numRuote, numValori;
    dataFile >> tmp >> numRuote;
    dataFile >> tmp >> numValori;

    while(dataFile.good()) {
        string data, ruota;
        map<int,int> estrazioni;
        dataFile >> data >> ruota;

        for(int i=0; i<numValori; ++i) {
            int estrazione;
            char sep;
            dataFile >> estrazione >> sep;
            estrazioni[estrazione] = 1;
        }

        Ruota r(data, ruota, estrazioni);
        for(int i=0; i<numRighe; ++i) {
            if(r.contiene(valori[i])) {
                stringstream result;
                result << "Data: " << r.getData() << " Ruota: " << r.getRuota() << " Valori:";
                for(unsigned int j = 0; j<valori[i].size(); ++j ) {
                    result << " " << valori[i][j];
                }
                results.push_back(result.str());
            }
        }
    }
    return results;
}

int main(int argc, char** argv) {
    if(argc < 3)
        return -1;

    ifstream dataFile(argv[1]);
    ifstream findFile(argv[2]);
    if(findFile.is_open() && dataFile.is_open()) {
        clock_t start, end;
        start = clock();
        vector<string> results = trova(dataFile, findFile);
        end = clock();
        dataFile.close();
        findFile.close();

        ofstream out("output.txt");
        vector<string>::iterator it;
        for(it = results.begin(); it != results.end(); it++ ) {
            out << (*it) << endl;
        }
        cout << "Ci ho messo ben " << ((end-start)*1000)/CLOCKS_PER_SEC << "millisecondi" << endl;
    }
    else
        cout << "Unable to open file" << endl;
}
ora con il difficile ci vogliono circa 7 secondi (su un pentium M 1,7Ghz)
su linux con le stesse ottimizzazioni (-O2) ci mette 5 secondi

Ultima modifica di k0nt3 : 13-10-2008 alle 18:39.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2008, 18:53   #44
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:01.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2008, 19:30   #45
ercand
Member
 
Iscritto dal: Sep 2004
Messaggi: 216
Quote:
*** Tempo per ricerca della soluzione difficile: 0.000 secondi
Il mio a trovare la soluzione il mio ci mette 1.9 secondi per il file difficile, e non so come migliorarla , e tu gia a 0 secondi .
ercand è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2008, 19:56   #46
magix2003
Senior Member
 
L'Avatar di magix2003
 
Iscritto dal: Aug 2005
Città: Wien
Messaggi: 435
La mia soluzione da 20 sec netti la posto, o faccio solo brutta figura??

La posto e chissenefrega, almeno è semplice da capire!

Codice:
/**
	 * laRicerca: ArrayList ordinato dei numeri da ricercare
	 * 			  tramite funzione sort offerta da Collections
	 * estrazione: idem qui per i valori dell'estrazione
	 * 
	 * Poi uso il metodo containsAll per vedere se i valori da cercare
	 * sono contenuti
	 */
	private void bruteForce() {
		Ricerca laRicerca;
		Estrazione estrazione ;
		for(int i = 0; i < findList.size(); i++) {
			laRicerca = findList.get(i);
			System.out.println(laRicerca);
			for(int j = 0; j < theList.size(); j++) {
				estrazione = theList.get(j);
				if(estrazione.getTheValues().containsAll(laRicerca.getTheList())) {
					System.out.println(estrazione);
				}
			}
		}
	}
Ok, probabilmente la funzione ContainsAll è il collo di bottiglia, visto che non credo sia implementata decentemente.
__________________
"Sono 126 miglia per Chicago. Abbiamo il serbatoio pieno, mezzo pacchetto di sigarette, è buio, e portiamo tutt'e due gli occhiali da sole"

magix2003 è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2008, 23:27   #47
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:02.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 06:15   #48
okay
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 906
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
Nuova versione:

*** Tempo per caricamento dati e creazione strutture: 0.047 secondi

*** Tempo per ricerca della soluzione difficile: 0.000 secondi

*** Tempo totale per l'intera elaborazione: 0.047 secondi
[/code]

Tempo utilizzato per modificare il codice: 15 min.

Mi sono accorta che la versione precedente, nonostante non avesse bachi visibili, non era accurata, oltre che ridondante. Posso scendere di un altro ordine di grandezza, senza utilizzare 4Gb di RAM+64-bit.
Buongiorno, è proprio un grande piacere leggerti...
okay è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 10:11   #49
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7240
@rеpne scasb
a me dice che il file non è corretto (ho modificato le define in modo da caricare i miei file)
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 10:44   #50
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:02.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 10:46   #51
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:02.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 11:02   #52
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
repne ho provato ad eseguire quest'ultimo sul mio pc. questi i risultati:
Codice:
*** Tempo per caricamento dati e creazione strutture:   0.365 secondi

*** Tempo per ricerca della soluzione difficile:   0.399 secondi

*** Tempo totale per l'intera elaborazione:   0.764 secondi

Process returned 0 (0x0)   execution time : 0.788 s
Press any key to continue.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 11:19   #53
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:03.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 11:31   #54
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
mi chiedi troppo sono un novellino
comunque il mio pc è una via di mezzo tra i due da te postati: intel core 2 duo t5500(1.66 Ghz) 2 gb ddr2 windows vista 32 bit.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 12:17   #55
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 15:03.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 13:14   #56
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
eccoli
Codice:
*** Tempo per caricamento dati e creazione strutture:   0.363 secondi

*** Tempo per ricerca della soluzione difficile:   0.007 secondi

*** Tempo totale per l'intera elaborazione:   0.370 secondi
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 14:42   #57
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Questi sono i tempi di repne sulla mia macchina(compilatore: visual studio 2008):

La mia macchina:
Codice:
AMD Athlon(tm) 64 X2
Dual Core Processor 4800+
2.50 GHz
896 MB di RAM

Microsoft Windows XP Professional
Service Pack 3
Output a video:


Redirezione su file:

Ultima modifica di Vincenzo1968 : 14-10-2008 alle 14:45.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 15:01   #58
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da magix2003 Guarda i messaggi
La mia soluzione da 20 sec netti la posto, o faccio solo brutta figura??

La posto e chissenefrega, almeno è semplice da capire!
...
Ok, probabilmente la funzione ContainsAll è il collo di bottiglia, visto che non credo sia implementata decentemente.
Ciao magix,

puoi postare il codice per intero?
Vorrei fare un confronto fra le varie soluzioni proposte prendendo i tempi su un'unica macchina(invito tutti gli altri a fare lo stesso).
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 15:19   #59
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
...
L'algoritmo, non e' nulla di speciale, tranne una considerazione sulla disposizione degli elementi di una funzione discreta crescente a piu' variabili (che nonostante i paroloni non e' nulla di speciale).
...
Repne ciao,

scusa se insisto ma di matematica non ci capisco niente(proprio il niente che è niente).
Conservo in una cartella che ho chiamato "programming pearls" (il nome l'ho preso in prestito dal bel libro di Jon Bentley) il tuo intervento nel contest 3 e la tua spiegazione sul teorema del limite centrale. Mi piacerebbe aggiungere un'altra "pearl" a quella cartella.

Ultima modifica di Vincenzo1968 : 14-10-2008 alle 15:22.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2008, 15:57   #60
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Vincenzo1968 Guarda i messaggi
Repne ciao,

scusa se insisto ma di matematica non ci capisco niente(proprio il niente che è niente).
Conservo in una cartella che ho chiamato "programming pearls" (il nome l'ho preso in prestito dal bel libro di Jon Bentley) il tuo intervento nel contest 3 e la tua spiegazione sul teorema del limite centrale. Mi piacerebbe aggiungere un'altra "pearl" a quella cartella.
Quoto in toto dato che anch'io ho conservato e consultato a suo tempo quella soluzione.
Una spiegazione matematica sarebbe veramente interessante
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è 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...
Switch 2 ha venduto 5,82 milioni di cons...
Assassin's Creed Black Flag Remake: le m...
Cosa ci fa una Xiaomi SU7 Ultra alle por...
Promo AliExpress Choice Day: prezzi stra...
Nostalgico, ma moderno: il nuovo THEC64 ...
AVM avvia la distribuzione di FRITZ! OS ...
Super offerte Bose: le QuietComfort a me...
Epic vince (ancora) contro Google: Andro...
Sconti nuovi di zecca su Amazon: 27 arti...
Un'esplorazione del 'lato oscuro' di Fac...
Apple ha venduto 3 miliardi di iPhone da...
Grandi sconti oggi sugli spazzolini elet...
Reddit sfida Google: vuole diventare il ...
Nuovi sconti super mini PC: Ryzen 7, 32G...
Addio NATO, benvenuta PAX ARMATA: tutto ...
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: 18:52.


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