Senior
Πώς δημιουργείτε έναν χάρτη με βέλτιστο τρόπο, εάν γνωρίζετε ότι η εισερχόμενη λίστα περιέχει ένα εκατομμύριο στοιχεία;
sobes.tech AI
Απάντηση από AI
Για τη βέλτιστη δημιουργία ενός map σε Go, εάν το μέγεθος του εισερχόμενου slice (π.χ., ένα εκατομμύριο στοιχεία) είναι γνωστό εκ των προτέρων, είναι καλό να δεσμεύσετε αμέσως την απαραίτητη χωρητικότητα για το map χρησιμοποιώντας τη συνάρτηση make, καθορίζοντας τη χωρητικότητα. Αυτό θα αποτρέψει πολλαπλές ανακατανομές μνήμης και θα βελτιώσει την απόδοση.
Παράδειγμα:
input := make([]string, 1000000) // παράδειγμα εισερχόμενου slice
// Αρχικοποίηση του map με προκαθορισμένη χωρητικότητα
m := make(map[string]int, len(input))
for _, v := range input {
m[v]++
}
Έτσι, το map δημιουργείται με το σωστό μέγεθος, βελτιστοποιώντας τη δουλειά με μεγάλο αριθμό στοιχείων.