In un esempio ACM, ho dovuto creare una grande tabella per la programmazione dinamica. Ho dovuto memorizzare due numeri interi in ogni cella, così ho deciso di andare per un std::pair<int, int>
. Tuttavia, l'assegnazione di una vasta gamma di loro ha 1,5 secondi:std :: pair <int, int> vs struct with two int's
std::pair<int, int> table[1001][1001];
In seguito, ho cambiato il codice per
struct Cell {
int first;
int second;
}
Cell table[1001][1001];
e l'assegnazione prese 0 secondi.
Che cosa spiega questa enorme differenza nel tempo?
Credo che intenda ACM ** ICPC **. –
Hai eseguito il test con le ottimizzazioni attivate? – jalf
Qual è la performance se aggiungi un costruttore no-arg a 'Cell'? Ottimizzazioni – outis