Я добавил возможность создавать скрипты с помощью Embedded Python в своем приложении. Мне нужно передать большой словарь данных (около 15 МБ) плагинам Python из моего приложения. По какой-то причине приложение использует около 60 МБ памяти каждый раз, когда я передаю 15 МБ dict.
Я искал в сети, и кажется, что есть проблема со встроенным питоном, не освобождающим память, то есть утечка памяти. Это в конечном итоге вызывает ошибку, если я продолжу запускать плагин достаточно раз, так как у него заканчивается основная память.
Я попытался высвободить память для словаря, используя "del myDict" в конце моего скрипта и "gc.collect ()", но это совсем не помогает. Это происходит как в Linux, так и в OS X.
Каждый раз, когда я запускаю плагин python, я вызываю Py_Initialize () и Py_Finalize ().