Qual è la dimensione più grande di HashSet o TreeSet? [chiuso]

-1

Quindi sto lavorando a un progetto solista che coinvolge molte stringhe. In uno dei miei casi di test più piccoli ci saranno almeno 70 milioni di elementi. Quindi la mia domanda è: qual è la dimensione più grande possibile che un TreeSet o un HashSet può raggiungere fino a quando non può più crescere O fino a raggiungere una dimensione che non può più essere utilizzabile in termini di efficienza .

    
posta rdadkins 11.09.2014 - 05:30
fonte

1 risposta

3

Se la semplice assegnazione di oggetti per i casi di test più piccoli utilizza diversi GB di RAM e molti piccoli oggetti, hai ragione a preoccuparti dei casi più grandi.

Vorrei sedermi e riflettere attentamente sui tuoi dati necessari per un caso di test più ampio. Se sta spingendo ciò che ti piace, ristrutturerei radicalmente il tuo programma. Per l'ispirazione, leggi link e pensa a come implementare una versione giocattolo utilizzando l'utility di ordinamento Unix standard. (Attenzione, è necessario impostare l'impostazione internazionale su C perché faccia la cosa giusta.)

Ho personalmente scritto programmi che utilizzavano versioni "giocattolo" del genere per elaborare miliardi di punti dati su una singola macchina nel giro di poche ore. Se hai a disposizione un vero cluster con qualcosa come Hadoop, allora l'unico limite è la dimensione del tuo cluster. (Con AWS a tua disposizione, è solo una questione di quanto vuoi spendere.)

Se si termina "su scala Internet", ricordare che la chiave per la scalabilità è eseguire una mappa, ridurre per mappare i dati da un archivio dati distribuito a un altro. In questo modo c'è tolleranza agli errori ovunque (nel tuo archivio dati e nella tua infrastruttura di riduzione della mappa) e nessun colli di bottiglia. Quello che non vorresti mai, mai, è raccogliere i dati su una singola macchina.

Ammettiamolo, questo implica un ripensamento completo del programma. Ma se hai bisogno di EVENTUALMENTE, potrebbe anche farlo ora quando è meno lavoro!

    
risposta data 11.09.2014 - 07:34
fonte

Leggi altre domande sui tag