Node.js память нарезанных строк - PullRequest
1 голос
/ 14 мая 2019

Я пытался :

r = [];
for (i = 0; i < 1e3; i++) {
    a = (i+'').repeat(1e6);
    r[i] = a.slice(64, 128);
}

и получил OutOfMemory.Начиная с здесь мы видим, что все a хранятся в ГХ, потому что часть из них используется.

  1. Как заставить slice не сохранятьпамять?Я пытался r[i]=''+a.slice(64, 128)+'' но все еще ООМ.Должен ли я a[64]+...+a[127] (петли также считаются грубой силой)?
  2. Так трудно разрезать и сохранить только необходимую часть старой большой строки?В problem здесь упоминается только «копирование каждой подстроки как новой строки», но не «освобождение части строки, оставляющей необходимую часть оцениваемой»
...