Hola Marcelo :

no te llegan mis mails?
Si, digo que para lo que viene de la BD ya lo hago asi, y estoy muy contento :)


Saludos

El día 3 de mayo de 2012 15:18, Juan <[email protected]> escribió:
> Galllego
>
> pero se me ocurre algo re facil. quizas bobo, pero ahi va,
> seguramente en algun momento instancias el float  o lo hace el mapper ?
> si lo hace el mapper busca donde si lo haces vos , algo asi;
>
>
> asFloat: aBuffer
> "devuelve un float del abuffer value "
> "suponiendo que buffer es lo que te da la db"
> ^ aBuffer value= 0.0
>  ifTrue:[  self ceroFloat " devuelve una instancias de float 0.0"]
>  ifFalse:[ "lo que hacia antes"].
> Tambien se me ocurre el problema podria estar en el mapeador
> que usan?
> ReStore?
> unop propio?
> o el de Alan Knight no recuerdo el nombre...
> saludos
> jmdc
>
>
>
> 2012/5/3 GallegO <[email protected]>
>>
>> Hola Marcelo,
>>
>> si es lo que veniamos planteando, no se si no se entendio pero
>> basicamente para cuando viene de las BD la cosa anda barbara, el tema
>> es que cuando haces cuentas, intervienen primitivas y la VM se encarga
>> de instanciar el resultado y no tenes control desde el lado de
>> Smalltalk de que numero se instancia (por lo menos en Dolphin no
>> conozco forma de controlarlo).
>>
>> Y no obvio en Dolphin no son float flyweight ni mucho menos jaja pesan
>> como 80 megas los float esos jaja increible para tener todos 0 un
>> cagadon.
>>
>> Saludos
>>  GallegO
>>
>> El día 3 de mayo de 2012 14:56, Juan <[email protected]>
>> escribió:
>> > Hola Gallego ,gente
>> >
>> > Che una idea no se si aplica,
>> > No podrias usar un proxy cuando traes la data, y alli manejar el caso
>> > del
>> > 0.0 yo usaria un singleton, pero aqui
>> > viene mi duda , no son los floats flyweight en Dolphin? sino es asi,
>> > podrias
>> > usar un factory o sea un metodo de creacion en la clase que devuelva una
>> > instancia siempre la misma, o que administre proxy's donde tambien
>> > podrias
>> > volver a administrar la creacion, o sea un mix entre flyweight y proxy.
>> > que te/les parece?
>> > salud2
>> > jmdc
>> >
>> >
>> > 2012/5/3 [email protected] <[email protected]>
>> >
>> >> Si el tema es "emprolijar" lo feo podrías subclasificar Float y hacer
>> >> algo similar a lo que Symbol hace con String. Podrías mantener un
>> >> pool, incluso con algún criterio estadístico, en donde no guardes todo
>> >> sino lo que mas te aparezca (como el 0.0). También podrías redondear
>> >> lo que se pueda, no nos olvidemos que Float ya trunca las cosas y se
>> >> manda sus mocos sin ayuda de nadie.
>> >>
>> >> On 3 mayo, 14:39, GallegO <[email protected]> wrote:
>> >> > Hola:
>> >> >
>> >> > Les respondo aclarando la situación.
>> >> >
>> >> > Ya implemente un flyweight para cuando traigo floats de la base de
>> >> > datos. Luego de observar los resultados llegue a la conclusión que
>> >> > por
>> >> > perfomance, en mi caso particular, no valía la pena el flyweight (que
>> >> > lo habia implementado con un WeakSet). La mayoría de mis valores eran
>> >> > 0.0, entonces simplemente evito el 0.0, cuando viene un 0.0
>> >> > instanciado por el driver, en el lugar donde se mapea eso a los
>> >> > objetos directamente si viene 0.0 lo descarto y al objeto le pongo el
>> >> > SmallInteger 0, simple y rápido. Si se pone peludo algun día tenes la
>> >> > posibilidad de hacer eso e incluso hacerlo para Date, Time, TimeStamp
>> >> > e incluso String.
>> >> >
>> >> > Pero el problema que tengo es en unos objetos que calculamos en
>> >> > memoria para un periodo x de tiempo. Por ejemplo calcular la
>> >> > producción de 30 dias de 5000 pozos, suponiendo que cada producción
>> >> > tiene 20 valores numericos que mantiene en variables de instancia,
>> >> > eso
>> >> > te da unos 3 millones de instancias de Float.
>> >> >
>> >> > Ahora, entiendo perfectamente que podemos trabajar ahí también para
>> >> > evitar tener todo eso calculado, o evitar tener al menos tantos Float
>> >> > 0.0 pero por como están programados todos los cálculos se hace muy
>> >> > complicado (y feo) manejar esto en todos lados. De ultima que cada
>> >> > seter de las variables de instancias pongo codigo que maneje un
>> >> > flyweight o el Float zero al menos, pero es algo feo feo.
>> >> >
>> >> > Por eso pregunto por algo "transparente" como seria poder modificar
>> >> > la
>> >> > VM o las primitivas al menos, que en mi caso por ser Dolphin no
>> >> > puedo.
>> >> >
>> >> > Recién veo el mail de Juan Vuletich, en Dolphin tengo FloatArray
>> >> > tambien. Calculo que en vez de variables de instancia podría tener un
>> >> > array de estos en mis objetos y los accessors que apunten a cada una
>> >> > de las posiciones del array. No se si te referis a que es posible ese
>> >> > uso. Ja! no me imagino lo que tendría que testear...
>> >> >
>> >> > De todas maneras tener en Smalltalk reflexividad sobre la
>> >> > instanciacion como los Symbol estaría buenísimo.
>> >> >
>> >> > Bueno, viendo esta perspectiva ¿que me sugieren? :D
>> >> >
>> >> > Saludos
>> >> >   GallegO
>> >> >
>> >> > El día 3 de mayo de 2012 14:16, Angel Java Lopez
>> >> > <[email protected]> escribió:
>> >> >
>> >> >
>> >> >
>> >> > > Interesante tema/problema..
>> >> >
>> >> > > Por que hay millones de float? Yo me imagino algun calculo, pero
>> >> > > igual
>> >> > > luego
>> >> > > el garbage collector deberia liberarlos. El problema es la memoria?
>> >> > > se
>> >> > > acaba? Se necesitan los millones de floats, digo, que esten
>> >> > > referenciados y
>> >> > > no sean liberados por el GC? no habra forma de cambiar el
>> >> > > algoritmo? O
>> >> > > el
>> >> > > problema es el tiempo (mucho tiempo creando) y no la memoria?
>> >> >
>> >> > > 2012/5/3 [email protected] <[email protected]>
>> >> >
>> >> > >> Hola GallegO,
>> >> > >> Supongo que habrás hecho un flyweight y es lo que generalmente me
>> >> > >> sirvió. Tal vez si contarás un poco mas surjan mas ideas, en las
>> >> > >> cosas
>> >> > >> que me topé terminé por darme cuenta que los números son
>> >> > >> muchísimos
>> >> > >> menos que los que parecen, en matemática son infinitos pero en la
>> >> > >> compu no, y en la realidad mucho menos.
>> >> >
>> >> > >> Abrazo
>> >> >
>> >> > >> Diego
>> >> >
>> >> > >> On 3 mayo, 13:04, GallegO <[email protected]> wrote:
>> >> > >> > Gente:
>> >> >
>> >> > >> > Quería saber si alguien se le ocurre de que forma uno puede
>> >> > >> > evitar
>> >> > >> > la
>> >> > >> > instanciación de Float en Dolphin, o si se les ocurren en
>> >> > >> > cualquier
>> >> > >> > Smalltalk en forma transparente. Tengo un problemita con algunos
>> >> > >> > millones de floats. En algunos lados lo puedo solucionar con un
>> >> > >> > lightweight pero cuando se usan primitivas en un calculo estoy
>> >> > >> > al
>> >> > >> > horno.
>> >> >
>> >> > >> > Gracias por su ayuda :)
>> >> >
>> >> > >> > Saludos
>> >> > >> >   GallegO
>> >> >
>> >> > >> --
>> >> > >> To post to this group, send email to
>> >> > >> [email protected]
>> >> > >> To unsubscribe from this group, send email to
>> >> > >> [email protected]
>> >> >
>> >> > >>http://www.clubSmalltalk.org
>> >> >
>> >> > > --
>> >> > > To post to this group, send email to [email protected]
>> >> > > To unsubscribe from this group, send email to
>> >> > > [email protected]
>> >> >
>> >> > >http://www.clubSmalltalk.org
>> >>
>> >> --
>> >> To post to this group, send email to [email protected]
>> >> To unsubscribe from this group, send email to
>> >> [email protected]
>> >>
>> >> http://www.clubSmalltalk.org
>> >
>> >
>> > --
>> > To post to this group, send email to [email protected]
>> > To unsubscribe from this group, send email to
>> > [email protected]
>> >
>> > http://www.clubSmalltalk.org
>>
>> --
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>>
>> http://www.clubSmalltalk.org
>
>
> --
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
>
> http://www.clubSmalltalk.org

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org

Responder a