Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Recensione Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone'
Zenfone 11 Ultra ha tantissime qualità interessanti, fra cui potenza da vendere, un display di primissimo livello, un comparto audio potente e prestazioni di connettività fra le migliori della categoria. Manca però dell'esclusività del predecessore, che in un settore composto da "padelloni" si distingueva per le sue dimensioni compatte. Abbiamo provato il nuovo flagship ASUS, e in questa recensione vi raccontiamo com'è andata.
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
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: 7064
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: 530

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: 530

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: 7064
@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: 530

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: 530

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: 530

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: 530

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 Zenfone 11 Ultra: il flagship ASUS ritorna a essere un 'padellone' Recensione Zenfone 11 Ultra: il flagship ASUS ri...
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
eFootball taglia il traguardo dei 750 mi...
MS-DOS 4.0 diventa open source: Microsof...
Micron riceverà 6,1 miliardi di d...
STALKER 2 Heart of Chornobyl: nuovo trai...
Google: ancora un rinvio per lo stop ai ...
Lotus Evija X è la seconda auto elettric...
NIO e Lotus annunciano una grossa novit&...
Esclusive PlayStation su Xbox? Sì...
CATL: una nuova batteria per auto elettr...
TikTok al bando negli USA? Biden firma, ...
Taglio di prezzo di 150 euro per SAMSUNG...
Utenti Amazon Prime: torna a 148€ il min...
Microsoft sfiora i 62 miliardi di dollar...
Coca-Cola al cloud con un pizzico di IA:...
Prodotti TP-Link Tapo in offerta: videoc...
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:06.


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