none
DUDA USO MODULE O ARCHIVO SETTINGS RRS feed

  • 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

    sábado, 12 de noviembre de 2016 19:24

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.
    lunes, 14 de noviembre de 2016 9:04

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.
    sábado, 12 de noviembre de 2016 19:40
  • hola, gracias por responder,

    en ese caso seguiré usando el module, o que opción puedo utilizar que me sirva para reducir el uso de memoria?.


    Danny

    lunes, 14 de noviembre de 2016 2:01
  • 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.
    lunes, 14 de noviembre de 2016 9:04
  • entendido, muchas gracias por la ayuda y aclaración.

    Danny M.

    martes, 15 de noviembre de 2016 18:14