LINUX.ORG.RU

История изменений

Исправление gh0stwizard, (текущая версия) :

Но разве это не общая память приложения, которую может собрать GC?

Нет. Я честно не спец по ноде, но т.к. проект довольно амбициозен, то для ноды код библиотеки это черный ящик, и наоборот, код ноды для библиотеки также черный ящик.

Это к тому, что мы гадаем тут, а на самом деле у тебя либа, возможно, течет где-то в кишках. Т.к., если бы текла нода, то у тебя утечка была бы на уровне несколько байт на итерацию! Из твоего примера утекло бы порядка 1 кб, ты бы этого и не заметил бы.

Ссылка то убивается.

В ноде да. В либе — неизвестно.

Кстати вариант когда память выделяли из ноды и передавали указатель в либу тек точно так же.

Еще раз. В либе выделяется память под данные (мегабайты) >>> размера на указатели (байты).

---

Угадай с трех раз, что течет у человека: http://stackoverflow.com/questions/24026638/nodejs-node-ffi-memory-leak-varia...

Т.о. проверь верно ли освождает память твоя либа.

Исходная версия gh0stwizard, :

Но разве это не общая память приложения, которую может собрать GC?

Нет. Я честно не спец по ноде, но т.к. проект довольно амбициозен, то для ноды код библиотеки это черный ящик, и наоборот, код ноды для библиотеки также черный ящик.

Это к тому, что мы гадаем тут, а на самом деле у тебя либа, возможно, течет где-то в кишках. Т.к., если бы текла нода, то у тебя утечка была бы на уровне несколько байт на итерацию! Из твоего примера утекло бы порядка 1 кб, ты бы этого и не заметил бы.

Ссылка то убивается.

В ноде да. В либе — неизвестно.

Кстати вариант когда память выделяли из ноды и передавали указатель в либу тек точно так же.

Еще раз. В либе выделяется память под данные (мегабайты) >>> размера на указатели (байты).