Heim Backend-Entwicklung Golang Wie gebe ich den Kartenspeicher in Golang frei?

Wie gebe ich den Kartenspeicher in Golang frei?

Jul 18, 2020 pm 03:03 PM
golang map 内存

Golangs Methode zum Freigeben des Kartenspeichers: Löschen Sie zuerst alle Schlüssel in der Karte, und der von der Karte belegte Speicher befindet sich noch im [verwendeten Zustand], dann wird die Karte auf Null gesetzt und der von der Karte belegte Speicher wird gelöscht Im [Leerlaufzustand] ist der Speicher schließlich im Leerlaufzustand und kann innerhalb einer bestimmten Zeitspanne in der nächsten Anwendung wiederverwendet werden, ohne dass er erneut auf das Betriebssystem angewendet werden muss.

Wie gebe ich den Kartenspeicher in Golang frei?

Golangs Methode zur Freigabe des Kartenspeichers:

Beispielcode:
Go-Version: 1.12.9

package main
import (
    "log"
    "runtime"
)
var intMap map[int]int
var cnt = 8192
func main() {
    printMemStats()
    initMap()
    runtime.GC()
    printMemStats()
    log.Println(len(intMap))
    for i := 0; i < cnt; i++ {
        delete(intMap, i)
    }
    log.Println(len(intMap))
    runtime.GC()
    printMemStats()
    intMap = nil
    runtime.GC()
    printMemStats()
}
func initMap() {
    intMap = make(map[int]int, cnt)
    for i := 0; i < cnt; i++ {
        intMap[i] = i
    }
}
func printMemStats() {
    var m runtime.MemStats
    runtime.ReadMemStats(&m)
    log.Printf("Alloc = %v TotalAlloc = %v Sys = %v NumGC = %v\n", m.Alloc/1024, m.TotalAlloc/1024, m.Sys/1024, m.NumGC)
}
Nach dem Login kopieren

Ausgabeergebnis:

2019/11/22 15:42:33 Alloc = 138 TotalAlloc = 138 Sys = 68290 NumGC = 0
2019/11/22 15:42:33 Alloc = 456 TotalAlloc = 460 Sys = 68610 NumGC = 1
2019/11/22 15:42:33 8192
2019/11/22 15:42:33 0
2019/11/22 15:42:33 Alloc = 458 TotalAlloc = 464 Sys = 68674 NumGC = 2
2019/11/22 15:42:33 Alloc = 146 TotalAlloc = 466 Sys = 68674 NumGC = 3
Nach dem Login kopieren

Feldbeschreibung:

  • Alloc: Die vom Objekt belegte Speichergröße auf dem aktuellen Heap;

  • TotalAlloc: Die gesamte auf dem Heap zugewiesene Speichergröße.

  • Sys: Die vom Programm vom Betriebssystem angeforderte Gesamtspeichergröße ;

  • NumGC: Die Anzahl der Garbage Collection-Läufe.

Aus den laufenden Ergebnissen ist ersichtlich, dass der nach dem Löschen des Schlüssels in der Karte belegte Speicher nicht freigegeben wurde.

Fazit:
Golangs Karte gibt den Speicher nicht sofort nach dem Löschen des Schlüssels frei, sodass der von der Karte belegte Speicher beim Ausführen des Programms tatsächlich nur zunimmt . Darüber hinaus greift GC während der Markierungsphase auf jedes Element in der Karte zu, was bei sehr großen Karten einen sehr hohen Overhead für die Programmleistung mit sich bringt. Wenn jedoch nach Go-Version 1.5 der Schlüssel und der Wert der Karte keine Zeiger enthalten, ignoriert der GC die Karte.

Verwandte Lernempfehlungen: Go-Sprachtutorial

Das obige ist der detaillierte Inhalt vonWie gebe ich den Kartenspeicher in Golang frei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Optimierung des großen Speichers. Was soll ich tun, wenn der Computer auf 16g/32g Speichergeschwindigkeit aktualisiert wird und es keine Änderung gibt? Optimierung des großen Speichers. Was soll ich tun, wenn der Computer auf 16g/32g Speichergeschwindigkeit aktualisiert wird und es keine Änderung gibt? Jun 18, 2024 pm 06:51 PM

Bei mechanischen Festplatten oder SATA-Solid-State-Laufwerken werden Sie die erhöhte Software-Laufgeschwindigkeit spüren. Wenn es sich um eine NVME-Festplatte handelt, spüren Sie sie möglicherweise nicht. 1. Importieren Sie die Registrierung in den Desktop und erstellen Sie ein neues Textdokument, kopieren Sie den folgenden Inhalt, fügen Sie ihn ein, speichern Sie ihn als 1.reg, klicken Sie dann mit der rechten Maustaste, um den Computer zusammenzuführen und neu zu starten. WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]"DisablePagingExecutive"=d

Quellen zufolge werden Samsung Electronics und SK Hynix nach 2026 gestapelten mobilen Speicher kommerzialisieren Quellen zufolge werden Samsung Electronics und SK Hynix nach 2026 gestapelten mobilen Speicher kommerzialisieren Sep 03, 2024 pm 02:15 PM

Laut Nachrichten dieser Website vom 3. September berichteten die koreanischen Medien etnews gestern (Ortszeit), dass die „HBM-ähnlichen“ mobilen Speicherprodukte mit Stapelstruktur von Samsung Electronics und SK Hynix nach 2026 kommerzialisiert werden. Quellen zufolge betrachten die beiden koreanischen Speichergiganten gestapelten mobilen Speicher als wichtige zukünftige Einnahmequelle und planen, den „HBM-ähnlichen Speicher“ auf Smartphones, Tablets und Laptops auszudehnen, um End-Side-KI mit Strom zu versorgen. Früheren Berichten auf dieser Website zufolge heißt das Produkt von Samsung Electronics LPWide I/O-Speicher und SK Hynix nennt diese Technologie VFO. Die beiden Unternehmen haben ungefähr den gleichen technischen Weg gewählt, nämlich die Kombination von Fan-Out-Verpackungen und vertikalen Kanälen. Der LPWide I/O-Speicher von Samsung Electronics hat eine Bitbreite von 512

Wie kann ich Dateien mit Golang sicher lesen und schreiben? Wie kann ich Dateien mit Golang sicher lesen und schreiben? Jun 06, 2024 pm 05:14 PM

Das sichere Lesen und Schreiben von Dateien in Go ist von entscheidender Bedeutung. Zu den Richtlinien gehören: Überprüfen von Dateiberechtigungen, Schließen von Dateien mithilfe von Verzögerungen, Validieren von Dateipfaden, Verwenden von Kontext-Timeouts. Das Befolgen dieser Richtlinien gewährleistet die Sicherheit Ihrer Daten und die Robustheit Ihrer Anwendungen.

Kingbang bringt neuen DDR5 8600-Speicher auf den Markt, erhältlich in CAMM2, LPCAMM2 und regulären Modellen Kingbang bringt neuen DDR5 8600-Speicher auf den Markt, erhältlich in CAMM2, LPCAMM2 und regulären Modellen Jun 08, 2024 pm 01:35 PM

Laut Nachrichten dieser Website vom 7. Juni stellte GEIL seine neueste DDR5-Lösung auf der Taipei International Computer Show 2024 vor und stellte SO-DIMM-, CUDIMM-, CSODIMM-, CAMM2- und LPCAMM2-Versionen zur Auswahl. ▲Bildquelle: Wccftech Wie im Bild gezeigt, verfügt der von Jinbang ausgestellte CAMM2/LPCAMM2-Speicher über ein sehr kompaktes Design, kann eine maximale Kapazität von 128 GB und eine Geschwindigkeit von bis zu 8533 MT/s bieten Stabil auf der AMDAM5-Plattform. Übertaktet auf 9000 MT/s ohne zusätzliche Kühlung. Berichten zufolge kann der Speicher der Polaris RGBDDR5-Serie 2024 von Jinbang bis zu 8400 bereitstellen

Die Speicherspezifikationen DDR5 MRDIMM und LPDDR6 CAMM stehen zur Markteinführung bereit, JEDEC veröffentlicht wichtige technische Details Die Speicherspezifikationen DDR5 MRDIMM und LPDDR6 CAMM stehen zur Markteinführung bereit, JEDEC veröffentlicht wichtige technische Details Jul 23, 2024 pm 02:25 PM

Laut Nachrichten dieser Website vom 23. Juli gab die JEDEC Solid State Technology Association, der Standardsetzer für Mikroelektronik, am 22. Ortszeit bekannt, dass die technischen Spezifikationen für DDR5MRDIMM- und LPDDR6CAMM-Speicher bald offiziell eingeführt werden, und stellte die wichtigsten Details dieser beiden vor Erinnerungen. Das „MR“ in DDR5MRDIMM steht für MultiplexedRank, was bedeutet, dass der Speicher zwei oder mehr Ranks unterstützt und mehrere Datensignale auf einem einzigen Kanal ohne zusätzliche physische Daten kombinieren und übertragen kann. Die Verbindung kann die Bandbreite effektiv erhöhen. JEDEC hat mehrere Generationen von DDR5MRDIMM-Speichern geplant, mit dem Ziel, die Bandbreite schließlich auf 12,8 Gbit/s zu erhöhen, verglichen mit den aktuellen 6,4 Gbit/s des DDR5RDIMM-Speichers.

Lexar God of War Wings ARES RGB DDR5 8000 Speicher Bildergalerie: Colorful White Wings unterstützt RGB Lexar God of War Wings ARES RGB DDR5 8000 Speicher Bildergalerie: Colorful White Wings unterstützt RGB Jun 25, 2024 pm 01:51 PM

Da die Preise für UHF-Flaggschiff-Speicher wie 7600MT/s und 8000MT/s allgemein hoch sind, hat Lexar Maßnahmen ergriffen. Sie haben eine neue Speicherserie namens Ares Wings ARES RGB DDR5 auf den Markt gebracht, die in zwei Spezifikationen erhältlich ist: 7600 C36 und 8000 C38 Die 16GB*2-Sets kosten 1.299 Yuan bzw. 1.499 Yuan, was sehr kostengünstig ist. Diese Website hat die 8000 C38-Version von Wings of War erhalten und stellt Ihnen die Unboxing-Bilder vor. Die Verpackung des Lexar Wings ARES RGB DDR5-Speichers ist gut gestaltet und verwendet auffällige schwarze und rote Farbschemata mit farbenfrohem Aufdruck. In der oberen linken Ecke der Verpackung befindet sich ein exklusives &quo.

Es wird berichtet, dass Samsung Electronics die Investition in die 1-cnm-DRAM-Speicherproduktionslinie der P4-Fabrik in Pyeongtaek bestätigt hat und beabsichtigt, diese im Juni nächsten Jahres in Betrieb zu nehmen. Es wird berichtet, dass Samsung Electronics die Investition in die 1-cnm-DRAM-Speicherproduktionslinie der P4-Fabrik in Pyeongtaek bestätigt hat und beabsichtigt, diese im Juni nächsten Jahres in Betrieb zu nehmen. Aug 12, 2024 pm 04:31 PM

Laut Nachrichten dieser Website vom 12. August berichteten die koreanischen Medien ETNews, dass Samsung Electronics intern seinen Investitionsplan zum Bau einer 1-cnm-DRAM-Speicherproduktionslinie in der P4-Fabrik in Pyeongtaek bestätigt hat. Die Produktionslinie soll im nächsten Juni in Betrieb genommen werden Jahr. Pyeongtaek P4 ist ein umfassendes Halbleiterproduktionszentrum, das in vier Phasen unterteilt ist. In der früheren Planung war die erste Phase für NAND-Flash-Speicher vorgesehen, die zweite Phase für den Logik-Foundry und die dritte und vierte Phase für DRAM-Speicher. Samsung hat in der ersten Phase von P4 DRAM-Produktionsanlagen eingeführt, die zweite Bauphase jedoch auf Eis gelegt. 1cnm DRAM ist der 20~10nm Speicherprozess der sechsten Generation, und die 1cnm (oder entsprechenden 1γnm) Produkte der einzelnen Unternehmen wurden noch nicht offiziell veröffentlicht. Koreanische Medien berichteten, dass Samsung Electronics plant, Ende dieses Jahres mit der Produktion von 1-cnm-Speichern zu beginnen. ▲Samsung Pyeongtaek

Großes Upgrade der iPhone 17-Serie: Alle Serien verfügen über LTPO-Bildschirme und bis zu 12 GB Speicher Großes Upgrade der iPhone 17-Serie: Alle Serien verfügen über LTPO-Bildschirme und bis zu 12 GB Speicher Jul 24, 2024 pm 01:39 PM

Kürzlich hat ein Blogger die Parameter der iPhone 17-Serie enthüllt. Diese Serie wird standardmäßig mit LTPO-Bildschirmen ausgestattet sein und der Speicher wird auf bis zu 12 GB aufgerüstet. Die iPhone17-Serie wird vier Modelle umfassen: iPhone17, iPhone17Pro, iPhone17ProMax und iPhone17Slim, mit Bildschirmgrößen von 6,27 Zoll, 6,27 Zoll, 6,86 Zoll bzw. 6,65 Zoll. Alle Modelle werden mit LTPO-Panels ausgestattet sein und variable Bildwiederholraten von ProMotion unterstützen. Dies ist das erste Mal, dass Apple Bildschirme mit hoher Bildwiederholfrequenz bei Standardmodellen bereitstellt. Darüber hinaus werden die beiden Pro-Modelle iPhone17Pro und iPhone17ProMax standardmäßig mit 1 ausgestattet sein

See all articles