[R-es] ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)

Marcuzzi, Javier Rubén javier.ruben.marcuzzi en gmail.com
Jue Jun 13 21:45:56 CEST 2013


Estimado Carlos

Sobre:
¿Seré yo el único al que los dichosos factores le han hecho perder
horas y horas de trabajo?

Si usted supiese en mi caso las cosas fáciles que me hacen perder tiempo.

¿Hay alguna herramienta que verifique lo que realiza el código?

Yo no soy programador pero vi en visualstudio o en netbeans, algunas formas 
donde colocando puntos en ciertas partes del código es posible visualizar 
como se va procesando, con información útil en el procesamiento técnico a un 
nivel informático que escapa a la mayoría, pero que existe.

Javier

-----Original Message----- 
From: Carlos J. Gil Bellosta
Sent: Thursday, June 13, 2013 4:26 PM
To: Marcuzzi, Javier Rubén
Cc: Jose Luis Cañadas ; r-help-es
Subject: Re: [R-es] ¿Alguna explicación para este fenómeno? (Relativo al uso 
de memoria)

Hola, ¿qué tal?

Al final he descubierto el motivo del problema. Cierto que esperaba
cierto nivel de _overhead_, pero nunca tantísimo. Por mucho _overhead_
que haya, no se pasa de 7MB a 5GB.

El problema era que (a pesar de mi opción stringsAsFactors = F) los
niveles de los factores se copiaban íntegros en cada una de las
columnas de tipo factor de cada una de las tablas resultantes. Aunque
no se usasen.

He convertido los factores a caracter, he vuelto a trocear el df
resultante y el resultado ha sido:

> object.size(empresas)
33052680 bytes
> object.size(loans)
3813944 bytes

Es decir, con _overhead_ el tamaño del objeto resultante ha crecido en
un orden de magnitud (asumible), no en tres o cuatro (no asumible).

¿Seré yo el único al que los dichosos factores le han hecho perder
horas y horas de trabajo?

Salud,

Carlos J. Gil Bellosta
http://www.datanalytics.com


El día 13 de junio de 2013 20:54, Marcuzzi, Javier Rubén
<javier.ruben.marcuzzi en gmail.com> escribió:
> Estimados
>
> ¿que pasa con opciones como bigdata o semejantes? Tendría que probar, 
> leer,
> etc., pero puede ser que algún algoritmo distinto solucione esos 
> problemas.
> Recuerdo una presentación que creo que la realizó alguno de la lista donde
> utilizaba millones de datos, eran de aeropuertos, tráfico aéreo, algo de 
> eso
> había leído en una oportunidad.
>
> Javier Marcuzzi
>
> -----Original Message----- From: Jose Luis Cañadas
> Sent: Thursday, June 13, 2013 3:42 PM
> To: r-help-es en r-project.org
> Subject: Re: [R-es] ¿Alguna explicación para este fenómeno? (Relativo al 
> uso
> de memoria)
>
>
> Interesante... y preocupante.
> No propuso alguien, no hace mucho, reescribir R desde el principio por
> este tipo de cosas?
> El 13/06/13 20:04, Carlos Ortega escribió:
>>
>> Hola,
>>
>> Si este comportamiento se ve con cualquier data.frame que luego 
>> conviertas
>> a lista:
>>
>>>
>>> v <- 1:10
>>> w <- split(v, 1:2)
>>> w
>>
>> $`1`
>> [1] 1 3 5 7 9
>>
>> $`2`
>> [1]  2  4  6  8 10
>>
>>> object.size(v)
>>
>> 88 bytes
>>>
>>> object.size(w)
>>
>> 464 bytes
>>>
>>> object.size(w[[1]])
>>
>> 72 bytes
>>
>> Y he encontrado una explicación que entiendo parcialmente está aquí:
>>
>>
>>
>> http://stackoverflow.com/questions/15848590/confusing-size-of-objects-in-r/15850414#15850414
>>
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>>
>> El 13 de junio de 2013 18:35, Carlos J. Gil Bellosta
>> <gilbellosta en gmail.com>escribió:
>>
>>> Hola, ¿qué tal?
>>>
>>> Tengo un df relativamente chiquito:
>>>
>>>> dim(loans)
>>>
>>> [1] 15172    22
>>>>
>>>> object.size(loans)
>>>
>>> 7488144 bytes
>>>
>>> Sin embargo,
>>>
>>> empresas <- split(loans, loans$number_id)
>>> length(empresas)
>>> #8748
>>>
>>> object.size(empresas)
>>> # 50643907728 bytes
>>>
>>> Es decir, el objeto resultante de partir un df de 15000 filas en 8700
>>> dfs ocupa 5GB.
>>>
>>> ¿Alguna idea de por qué ocurre esto?
>>>
>>> (Uso R 3.0.1 en un Xubuntu 12.04 de 64 bits).
>>>
>>> Un saludo,
>>>
>>> Carlos J. Gil Bellosta
>>> http://www.datanalytics.com
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es en r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>
>>
>>
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>
> [[alternative HTML version deleted]]
>
>
>
>
>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es