Gibt es eine Möglichkeit, GC-Läufe (zumindest die zeitaufwendigsten, wie GC-Interrupts in alten Speicherplatz) während der angegebenen Zeit explizit zu deaktivieren, während einige Code empfindlich auf Verzögerungen? Etwas wie dieses:Deaktivieren Sie die Garbage Collection für node.js für eine Weile
disableGc();
runCodeWithoutDelays();
enableGc();
Vermutlich einige Knotenoptionen oder native Module verwenden? Oder kann ich mein eigenes Modul schreiben, gibt es dafür eine API in V8?
Hmmm, wird [this] (https://github.com/bnoordhuis/node-idle-gc) für Sie arbeiten? – thefourtheye
Nicht wirklich. Dies löst nicht-inkrementelle GC-Hauptdurchläufe (Mark-Sweep-Kompakt) aus, die ziemlich schwer sind und im Vergleich zu schnellen inkrementellen Läufen zu langen Verzögerungen führen. Anstatt GC selbst laufen zu lassen, möchte ich GC für einige Zeit blockieren und wieder zum normalen Betrieb freigeben. – artch
Ich würde empfehlen, diese Frage als Bug in Node.js Repo- und V8-Mailingliste zu stellen. – thefourtheye