considerare i due programmi seguenti:Perché il nodo a volte si blocca durante l'allocazione di Int8Array?
// works.js
var buffer = new ArrayBuffer(16777216);
var HEAP8 = new Int8Array(buffer);
e
// fails.js
var HEAP8;
var buffer = new ArrayBuffer(16777216);
HEAP8 = new Int8Array(buffer);
Esegui node
quindi immettere .load works.js
. Tutto sembra felice. Ora uscita node
.
Eseguire di nuovo node
e immettere .load fails.js
.
Sulla mia macchina in caricamento fails.js
conduce interattivamente il processo node
a consumare oltre 1 GB di RAM e CPU al 100% e l'istruzione finale blocca l'interprete per sempre. works.js
esegue e restituisce semplicemente come previsto.
C'è qualche buona ragione per la differenza? O dovrei scrivere un bug report?
Curiosamente, in esecuzione o script direttamente dalla linea di comando funziona bene:
node works.js # exits normally
node fails.js # exits normally
UPDATE: sto usando nodo 0.12.0 su OS X 10.9.5
Ottenuto lo stesso risultato su OSX con iojs v2.2.1 –