Carlos,
el gallego en privado me estuvo dando un par de consejos en ese sentido, pero mas alla de donde procesa (en este caso es todo en el server) me comento el tema de los select: y los detect: cambiarlos por diccionarios.
llendo a un caso concreto, supongamos que tenemos resuelto esto con un detect:
self personas detect:[: each | each nombre = 'Leo'].
es menos performante que cachear todo en un Diccionario x nombre y que luego hacer:
self personas at: 'Leo'
a nivel de codigo voy a empezar revisando este tipo de cosas...y luego probar.
abz
leo
----- Original Message -----
From: Carlos E. Ferro [mailto:[email protected]]
To: [email protected]
Sent: Fri, 20 Sep 2013 09:00:41 -0300
Subject: Re: [clubSmalltalk] GLASS perfomance & bug detector
hay una cosa muy tonta (que tal vez ya saben, pero no está de más recordarla)
que generalmente a los programadores "comunes" de ST nos cuesta.
Los mensajes de enumeration de Collection (do:, select:, sobre todo cosas como sortBy:) cuando los evalúas en el cliente, se van "trayendo" uno por uno los elementos de la colección para la evaluación, y desproxeándolos. Si era un select: que te dejaba un 10% de la colección en un resultado local, igual te trajiste todos los elementos. y encima, después los tenés que recolectar.
Para evitar eso, hay que dar mensajes que hagan ese procesamiento de colecciones en el servidor y sólo te pasen la colección resultado.
Es decir, que funcione como cliente delgado en ese caso.
Saludos
On 19/09/2013 07:25 p.m., Leonardo Andres De Marco wrote:
Hola a todos!--estoy laburando en un proyecto que tienen un sistema ya funcionando en producción hecho con GLASS.Debuging:Ahora bien, al principio buscar errores que el usuario me reportaba pude salir victorioso gracias a los propios Halos+inspector seaside + Gemtools me las arregle bien (sin conocer bien el modelo).Preguntonta: Existe la posibilidad de hacer un snapshot de esa imagen corriendo en gemstone y levantarla en un pharo? si? no? consejos para trabajar con datos Pharo sin gemstone? o volcar parte de la info para trabajar mas comodo?Performance:Por otra parte, el sistema estuvo funcionando un tiempo muy bien, a nivel de funcionalidad estan contentos, perooo, estan teniendo problemas de performance sobre todo en la ejecucion de informes (los informes en este sistema generan mucha basura, pero incluso pasando el GC a manopla el sistema presenta lentitud en la ejecucion e esos informes). Estuvimos viendo este post http://gemstonesoup.wordpress.com/2009/02/28/approaching-the-speed-of-light-ssd-drives-for-gemstones/ en donde Hernan inlcuso comenta la mejora con discos SSD por problemas de i/o. Para sacarnos la duda, montamos el sistema en un servidor externo con discos SSD y si bien vimos una mejora de perfomance notable, luego montamos el mismo sistema en discos "comunes" y la mejora seguia, por lo que asumimos que el tema es de hardware... asi y todo, el servidor actual no es tan chiquito (tiene 8 procesadores y 8GB ram) de los cuales, la VM de gemstone usa 4cpu y 6 GB ram (la base de gemstone pesa 14GB pero tiene pocos usuarios concurrentes, unos 10 usuarios.).Conclusion: queremos estar seguros que sea solamente un tema de hard o hay algo mejorable en el sistema (seguro q lo hay, pero algo que sea bien notable que este provocando esos cuellos de botella). Finalmente pregunto: existe un profiler o algo similar en gemstone que me permita monitorear eso o que tecnica recomiendan para detectar este tipo de problemas?gracias,Leo
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
http://www.clubSmalltalk.org
---
Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a [email protected].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
http://www.clubSmalltalk.org
---
Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a [email protected].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
--
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
http://www.clubSmalltalk.org
---
Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a [email protected].
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
