Функция pdf_text не освобождает оперативную память (в Windows) - PullRequest
1 голос
/ 22 июня 2019

pdf_text() не освобождает ОЗУ. Каждый раз, когда функция запускается, она использует больше оперативной памяти и не освобождает ее до тех пор, пока не завершится сеанс R. Я на окнах.

Минимальный пример

# This takes ~60 seconds and uses ~500mb of RAM, which is then unavailable for other processes

library(pdftools)
for (i in 1:5) {

  print(i)
  pdf_text("https://cran.r-project.org/web/packages/spatstat/spatstat.pdf")

}

Мой вопрос

Почему pdf_text() использует столько памяти и как ее можно освободить? (без необходимости прекращать сеанс R)

Что я пробовал до сих пор

Я пытался gc() внутри цикла

Я проверил, что pdf_text() не создает некоторые скрытые объекты (проверяя ls(all=TRUE)

У меня очищены временные файлы сеанса R

Также обратите внимание

Хотя размер конкретного pdf в приведенном выше примере составляет около 5 МБ, вызов pdf_text для него использует в 20 раз больше оперативной памяти! Я не уверен, почему

1 Ответ

1 голос
/ 23 июня 2019

Это звучит как утечка памяти. Однако я не могу воспроизвести эту проблему на MacOS.

У меня возникла проблема , чтобы отследить это, не могли бы вы сообщить, какую версию pdftools и libpoppler вы используете, чтобы показать это поведение?

...