Очистка памяти, используемой rpy2

Как я могу очистить объекты (и занимаемую ими память), созданные с помощью rpy?

import rpy2.robjects as r
a = r.r('a = matrix(NA, 2000000, 50)')
del a    #if I do this, there is no change in the amount of memory used
r.r('rm(list=(ls(all=TRUE)))') # Same here, the objects disappear, but the memory is still used

К сожалению, в моем приложении использование памяти увеличивается до тех пор, пока ее не станет недостаточно, а затем происходит сбой ... Из rpy2 docs :

Сам объект остается доступным, и защищен от мусора R коллекция, пока foo не будет удален из Python

, но даже выполнение:

import rpy2.robjects as r
a = r.r('a = matrix(NA, 2000000, 50)')
r.r.rm('a')
del a
r.r.gc()

не освобождает используемую память ...

РЕДАКТИРОВАТЬ: rpy2 2.0, Win XP, R 2.12.0

6
задан Benjamin 5 March 2011 в 15:49
поделиться