¿Por qué cargar objetos en caché aumenta drásticamente el consumo de memoria cuando no se calculan?

Información de fondo relevante

He creado un pequeño software que se puede personalizar a través de un archivo de configuración. El archivo de configuración se analiza y traduce a una estructura de entorno anidada (por ejemplo .HIVE $ db = un entorno, .HIVE $ db $ user = "Horst", .HIVE $ db $ pw = "mi contraseña", .HIVE $ regex $ fecha = algunas expresiones regulares para fechas, etc.)

He creado rutinas que pueden manejar esos entornos anidados (por ejemplo, buscar el valor "db / user" o "regex / date", cambiarlo, etc.). La cuestión es que el análisis inicial de los archivos de configuración lleva mucho tiempo y resulta en un objeto bastante grande (en realidad, de tres a cuatro, entre 4 y 16 MB). Entonces pensé "No hay problema, solo almacénelos en caché guardando los objetos en archivos .Rdata". Esto funciona, pero "cargar" objetos en caché hace que mi proceso Rterm se vaya por las nubes con respecto al consumo de RAM (¡más de 1 GB!) Y todavía no entiendo por qué (esto no sucede cuando "calculo" el objeto de nuevo, pero eso es exactamente lo que estoy tratando de evitar, ya que lleva demasiado tiempo).

Ya pensé en serializarlo, pero no lo he probado, ya que necesitaría refactorizar un poco mi código. Además, no estoy seguro de si afectaría la parte "cargar de nuevo en R" de la misma manera que cargar archivos .Rdata.

Pregunt

¿Alguien puede decirme por qué cargar un objeto previamente calculado tiene tales efectos en el consumo de memoria de mi proceso Rterm (en comparación con calcularlo en cada proceso nuevo que comienzo) y cuál es la mejor manera de evitar esto?

Si lo desea, también intentaré encontrar un ejemplo, pero es un poco complicado reproducir mi escenario exacto. Sin embargo, lo intentaré.

Respuestas a la pregunta(2)

Su respuesta a la pregunta