Esiste un modo per disattivare esplicitamente le esecuzioni di GC (almeno quelle che richiedono più tempo, come gli interrupt di GC nello spazio vecchio) durante il periodo di tempo specificato, mentre si eseguono alcuni codici sensibili a ritardi? Qualcosa del genere:Disabilitare la garbage collection di node.js per un po 'di tempo
disableGc();
runCodeWithoutDelays();
enableGc();
Probabilmente utilizzando alcune opzioni di nodo o moduli nativi? Oppure posso scrivere il mio modulo, c'è una API in V8 per quello?
Hmmm, [questo] (https://github.com/bnoordhuis/node-idle-gc) funzionerà per voi? – thefourtheye
Non proprio. Ciò attiverà le principali esecuzioni di GC non significative (mark-sweep-compact) che sono piuttosto pesanti e comportano lunghi ritardi rispetto alle rapide esecuzioni incrementali. Piuttosto che eseguire GC da solo, mi piacerebbe bloccare GC per qualche tempo e rilasciarlo nuovamente al normale funzionamento. – artch
Raccomanderei di sollevare questa domanda come un bug nel repository Node.js e nella mailing list v8. – thefourtheye