Principales respuestas
DUDA USO MODULE O ARCHIVO SETTINGS

Pregunta
-
Buen dia
tengo una duda sobre usar module o archivos settings, verán, actualmente guardo datos que obtengo de un pagina internet en variables publicas en un module, pero quiero saber si puedo usar un archivo settings para hacer esa misma labor sin que me afecte el uso de memoria por el contrario, quiero reducirla al mínimo posible. gracias
Namespace Captura Public Module EntityPoliedro 'Varialbles privadas para la toma de datos de poliedro' Private Identificacion_ As String Private Documento_ As String Private Nombres_ As String Private Apellidos_ As String Private Saludo_ As String Private Sexo_ As String Private Nacimiento_ As String Private Direccion_ As String Private Numero_ As String Private Casa_ As String Private Barrio_ As String Private Ciudad_ As String Private Correo_ As String Private Indicativo_ As String Private Telefono_ As String Private Actividad_ As String Private Plan_ As String Private Contrato_ As String Private CargoFijo_ As String Private Distribuidor_ As String Private Custcode_ As String Private Consultor_ As String Private EsMaestra_ As String Private EsTraido_ As String Private EsPortacion_ As String Private Equipo_ As String Private VrEquipo_ As String Private EsDiferido_ As String Private TlCuotas_ As String Private Reserva_ As String Private Imei_ As String Private Simcard_ As String Private Min_ As String 'Propiedades de las variables privadas' Public Property Identificacion As String Get Return Identificacion_ End Get Set(value As String) Identificacion_ = value End Set End Property Public Property Documento As String Get Return Documento_ End Get Set(value As String) Documento_ = value End Set End Property Public Property Nombres As String Get Return Nombres_ End Get Set(value As String) Nombres_ = value End Set End Property Public Property Apellidos As String Get Return Apellidos_ End Get Set(value As String) Apellidos_ = value End Set End Property Public Property Saludo As String Get Return Saludo_ End Get Set(value As String) Saludo_ = value End Set End Property Public Property Sexo As String Get Return Sexo_ End Get Set(value As String) Sexo_ = value End Set End Property Public Property Nacimiento As String Get Return Nacimiento_ End Get Set(value As String) Nacimiento_ = value End Set End Property Public Property Direccion As String Get Return Direccion_ End Get Set(value As String) Direccion_ = value End Set End Property Public Property Numero As String Get Return Numero_ End Get Set(value As String) Numero_ = value End Set End Property Public Property Casa As String Get Return Casa_ End Get Set(value As String) Casa_ = value End Set End Property Public Property Barrio As String Get Return Barrio_ End Get Set(value As String) Barrio_ = value End Set End Property Public Property Ciudad As String Get Return Ciudad_ End Get Set(value As String) Ciudad_ = value End Set End Property Public Property Correo As String Get Return Correo_ End Get Set(value As String) Correo_ = value End Set End Property Public Property Indicativo As String Get Return Indicativo_ End Get Set(value As String) Indicativo_ = value End Set End Property Public Property Telefono As String Get Return Telefono_ End Get Set(value As String) Telefono_ = value End Set End Property Public Property Actividad As String Get Return Actividad_ End Get Set(value As String) Actividad_ = value End Set End Property Public Property Plan As String Get Return Plan_ End Get Set(value As String) Plan_ = value End Set End Property Public Property Contrato As String Get Return Contrato_ End Get Set(value As String) Contrato_ = value End Set End Property Public Property CargoFijo As String Get Return CargoFijo_ End Get Set(value As String) CargoFijo_ = value End Set End Property Public Property Distribuidor As String Get Return Distribuidor_ End Get Set(value As String) Distribuidor_ = value End Set End Property Public Property Custcode As String Get Return Custcode_ End Get Set(value As String) Custcode_ = value End Set End Property Public Property Consultor As String Get Return Consultor_ End Get Set(value As String) Consultor_ = value End Set End Property Public Property EsMaestra As String Get Return EsMaestra_ End Get Set(value As String) EsMaestra_ = value End Set End Property Public Property EsTraido As String Get Return EsTraido_ End Get Set(value As String) EsTraido_ = value End Set End Property Public Property EsPortacion As String Get Return EsPortacion_ End Get Set(value As String) EsPortacion_ = value End Set End Property Public Property Equipo As String Get Return Equipo_ End Get Set(value As String) Equipo_ = value End Set End Property Public Property VrEquipo As String Get Return VrEquipo_ End Get Set(value As String) VrEquipo_ = value End Set End Property Public Property EsDiferido As String Get Return EsDiferido_ End Get Set(value As String) EsDiferido_ = value End Set End Property Public Property Cuotas As String Get Return TlCuotas_ End Get Set(value As String) TlCuotas_ = value End Set End Property Public Property Reserva As String Get Return Reserva_ End Get Set(value As String) Reserva_ = value End Set End Property Public Property Imei As String Get Return Imei_ End Get Set(value As String) Imei_ = value End Set End Property Public Property Simcard As String Get Return Simcard_ End Get Set(value As String) Simcard_ = value End Set End Property Public Property Min As String Get Return Min_ End Get Set(value As String) Min_ = value End Set End Property End Module End Namespace
Danny
Respuestas
-
Tal como lo tienes, el uso de memoria deberia ser ya muy pequeño. Fijate en que solo estas guardando una serie de strings, que internamente solo conservan los caracteres que realmente se requieran. Es practicamente lo minimo que vas a conseguir. Menos que eso, se podria lograr serializando los datos en un array de bytes y luego aplicando un algoritmo de compresion, pero el tamaño de memoria ocupado por el codigo ejecutable necesario para hacer eso sera mayor que el espacio ahorrado en el area de datos con unos datos tan pequños. Otra cosa seria que tuvieras que cargar en memoria millones de registros con esa estructura, pero presumo que no es ese el caso porque si asi fuera necesitarias instanciar la clase y no lo estarias haciendo con un Module.
- Propuesto como respuesta Danny Alexander Mosquera martes, 15 de noviembre de 2016 18:14
- Marcado como respuesta Danny Mosquera martes, 20 de diciembre de 2016 17:23
Todas las respuestas
-
En cuanto a ocupación de memoria, no ganarías nada. Los Settings se convierten en una clase con propiedades, igual que el Module. La diferencia es que la clase autogenerada por los Settings tendrá propiedades de instancia, mientras que el module las genera estáticas (shared). Pero en un caso y en otro, las propiedades "gastarán" la misma cantidad de memoria. Una diferencia importante es que los settings contienen funcionalidad para salvarlos en disco serializados como XML, mientras que si quisieras salvar el Module tendrías que programarlo tú. Pero mientras estén en memoria ocupan lo mismo.
-
-
Tal como lo tienes, el uso de memoria deberia ser ya muy pequeño. Fijate en que solo estas guardando una serie de strings, que internamente solo conservan los caracteres que realmente se requieran. Es practicamente lo minimo que vas a conseguir. Menos que eso, se podria lograr serializando los datos en un array de bytes y luego aplicando un algoritmo de compresion, pero el tamaño de memoria ocupado por el codigo ejecutable necesario para hacer eso sera mayor que el espacio ahorrado en el area de datos con unos datos tan pequños. Otra cosa seria que tuvieras que cargar en memoria millones de registros con esa estructura, pero presumo que no es ese el caso porque si asi fuera necesitarias instanciar la clase y no lo estarias haciendo con un Module.
- Propuesto como respuesta Danny Alexander Mosquera martes, 15 de noviembre de 2016 18:14
- Marcado como respuesta Danny Mosquera martes, 20 de diciembre de 2016 17:23
-