2017-06-04 1 views
0

Ich habe den Eindruck, dass die dynamische Speicherzuweisung ist langsamer als statische Speicherzuweisung, ich dann über Speicherpools gelesen, aber ich bin verwirrtDynamische w/Speicher-Pool VS Static

Wenn wir Zuteilungen vergleichen, wir sprechen über die Verwendung von malloc vs Initialisierung einer Variablen. Aber wenn man ein großes Array mit malloc zuordnen und darauf zugreifen würde, würden wir die gleiche Leistung bekommen wie wenn wir es statisch zugewiesen hätten? Angenommen, Sie hatten:

int i[100]; 
j = malloc(sizeof(int) * 100); 

// Would these two lines yield the same performance? 
i[1] = 10; 
j[1] = 100; 

Danke für das Lesen ...

Antwort

0

Speicher-Speicher ist. Sobald es zugewiesen ist, verhält sich alles gleich. Nur die Zuweisung ist langsamer.

+0

Aber ich habe gelesen, dass Speicher auf dem Heap ist langsamer als Speicher auf dem Stapel zugreifen. – Whiteclaws

+0

Es ist alles der gleiche Speicher. Es dauert länger, von einem Heap als dem Stapel zu reservieren, aber sobald Speicher reserviert ist, ist Speicher vorhanden. – user3344003

Verwandte Themen