История изменений
Исправление
gh0stwizard,
(текущая версия)
:
Но разве это не общая память приложения, которую может собрать GC?
Нет. Я честно не спец по ноде, но т.к. проект довольно амбициозен, то для ноды код библиотеки это черный ящик, и наоборот, код ноды для библиотеки также черный ящик.
Это к тому, что мы гадаем тут, а на самом деле у тебя либа, возможно, течет где-то в кишках. Т.к., если бы текла нода, то у тебя утечка была бы на уровне несколько байт на итерацию! Из твоего примера утекло бы порядка 1 кб, ты бы этого и не заметил бы.
Ссылка то убивается.
В ноде да. В либе — неизвестно.
Кстати вариант когда память выделяли из ноды и передавали указатель в либу тек точно так же.
Еще раз. В либе выделяется память под данные (мегабайты) >>> размера на указатели (байты).
---
Угадай с трех раз, что течет у человека: http://stackoverflow.com/questions/24026638/nodejs-node-ffi-memory-leak-varia...
Т.о. проверь верно ли освождает память твоя либа.
Исходная версия
gh0stwizard,
:
Но разве это не общая память приложения, которую может собрать GC?
Нет. Я честно не спец по ноде, но т.к. проект довольно амбициозен, то для ноды код библиотеки это черный ящик, и наоборот, код ноды для библиотеки также черный ящик.
Это к тому, что мы гадаем тут, а на самом деле у тебя либа, возможно, течет где-то в кишках. Т.к., если бы текла нода, то у тебя утечка была бы на уровне несколько байт на итерацию! Из твоего примера утекло бы порядка 1 кб, ты бы этого и не заметил бы.
Ссылка то убивается.
В ноде да. В либе — неизвестно.
Кстати вариант когда память выделяли из ноды и передавали указатель в либу тек точно так же.
Еще раз. В либе выделяется память под данные (мегабайты) >>> размера на указатели (байты).