Warum benötigt der Abschluss viel mehr Speicher als ein einfaches JS-Objekt?
Posted: 12 Jan 2025, 10:41
Führen Sie diese beiden Codes in Node.js aus:
Code: Select all
const list = Array(1e6).fill(0).map((_, i) => i);
const obj_list = list.map(v => ({ v }));
console.log(process.memoryUsage());
// {
// rss: 130670592,
// heapTotal: 86892544,
// heapUsed: 54635152,
// external: 1019787,
// arrayBuffers: 16858
// }
Code: Select all
const list = Array(1e6).fill(0).map((_, i) => i);
const fun_list = list.map(v => () => v);
console.log(process.memoryUsage());
// {
// rss: 189992960,
// heapTotal: 152428544,
// heapUsed: 117480576,
// external: 1019787,
// arrayBuffers: 16858
// }