Archivo

Archivo para la categoría ‘Patrones y prácticas’

Diferencias de rendimiento de Velneo V7 con listas y consultas

Miércoles, 5 de mayo de 2010

Vamos a realizar una comparativa de tiempos entre la consulta de datos en Velneo V7 mediante las funciones de consulta “Query” y las de carga de datos “Load list”.

En Velneo nos da la posibilidad de ejecutar en planos distintos, concretamente cuatro. Dos a nivel de servidor y dos a nivel de cliente.

Vamos a considerar, como es evidente, primer plano al modo síncrono del cliente y segundo plano al modo asíncrono del mismo. Y tercer plano y cuarto plano para los modos síncrono y asíncrono, respectivamente, del servidor.

También hay que tener muy en cuenta las condiciones en las que estamos trabajando, ya que tenemos un servidor propio en el que los tiempos de respuesta varían mucho, pues la distancia de los equipos al servidor, teniendo en cuenta que es conexión wifi, son más de 100 metros. Los tiempos de respuesta van desde los 2 milisegundos hasta unos 1897 milisegundos, que retrasan bastante las pruebas.

Pero lo normal es que el tiempo de respuesta esté entre los 2 y los 300 milisegundos por lo que hemos podido comprobar, así que la estimación de tiempos la haremos en función de 10 valores y su media aritmética.

En primer lugar hemos probado la carga de datos automática en una tabla. Tomamos el tiempo.

Una vez que tenemos los datos introducidos en nuestras tablas, hacemos la comprobación de carga de datos a través de las consultas “Query” y lo compararemos con la carga de listas con “Load list”. Tras estas dos consultas, hacemos el borrado de datos.Los tiempos están en milisegundos.

PLANO DATOS QUERY LOAD LIST INSERTING RECORDS DELETING RECORDS
100 7.17 7.46 784 482
1000 12.36 14.18 6502 4877
100 7.61 20.24 884 562
1000 14.73 23.12 7286 5752
100 - 4,39 - -
1000 - 39.1 - -
100 - - - -
1000 - - - -

De momento, para ejecuciones de consultas es más rápido el proceso de Query, aunque en primer plano casi no se nota, pero en segundo plano esta diferencia sí es notable. Misteriosamente la carga de datos en 3er plano con “load list” es muy lenta cuando se trata de una cantidad de datos alta, ya que de los 4,39 microsegundos que tarda al cargar 100 datos pasamos a 39,10 microsegundos en cargar los 1000 datos de la tabla.En cuarto plano no obtengo respuesta del servidor, no me dice nada, y la sensación es que se queda enganchado, pues hay que reiniciar el servidor al no dejarme ya de nuevo hacer consultas.

Conclusión:

  • Si va a ejecutar en SEGUNDO PLANO es mejor con QUERY.
  • Si va a ejecutar en PRIMER PLANO es indiferente.

La reflexión es un camino, Patrones y prácticas ,

Imprimelo! Imprimelo! | Imprimelo! Guardalo como PDF!

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votes, average: 4,00 out of 5)
Loading ... Loading ...

Ubuntu 10.04 y PaaSOS 0.2h, calentando motores…

Lunes, 3 de mayo de 2010

Pronto tendremos la primera versión estable del Core de PaaSOS (prevista está para Octubre de 2010). Para lograr refinar al máximo esta primera versión realizaremos una serie de pruebas intensivas sobre las plataformas de ejecución Mac OSX, Windows XP/Vista/7 y Linux (Ubuntu  9 y 10) … El resultado es vital para que salga con el menor número posible de bugs.

Nos hemos encontrado problemas diversos con Velneo v7.3 y la compatibilidad multiplataforma:

  • Por un lado el tema de las fuentes. Si diste valor a alguna propiedad fuente de algún control es posible que no se vean correctamente en los distintos sistemas operativos compatibles. Te recomendamos que utilices siempre la fuente por defecto.
  • Por otro el control del foco no se comporta de igual forma en Win/Linux por lo que te recomendamos que seas muy cuidadoso con el control de foco en Linux ya que aunque tengas un control ubicado como primero en un formulario será el botón marcado como Aceptar el que obtenga el foco.

Aquí tenéis algunas capturas de PaaSOS sobre la nueva versión de Ubuntu 10.04 Lucid Lynx

image thumb Ubuntu 10.04 y PaaSOS 0.2h, calentando motores…  
Módulo de gestión de Actividades (“En desarrollo”)

image7 thumb Ubuntu 10.04 y PaaSOS 0.2h, calentando motores…
Módulo de Contactosimage11 thumb Ubuntu 10.04 y PaaSOS 0.2h, calentando motores…
Módulo de Álbumes fotográficos

image15 thumb Ubuntu 10.04 y PaaSOS 0.2h, calentando motores…
Módulo de gestión de Películas

Algo nuevo por descubrir, Patrones y prácticas

Imprimelo! Imprimelo! | Imprimelo! Guardalo como PDF!

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votes, average: 4,50 out of 5)
Loading ... Loading ...

Patrones y prácticas – Velneo v7 – I

Martes, 2 de marzo de 2010

Hemos decidido iniciar una serie de artículos de patrones y prácticas con la herramienta de desarrollo Velneo v7. El motivo fundamental es fijar todos los criterios de desarrollo adecuados para el crecimiento futuro de PaaSOS.

Empecemos con algo de poco peso (técnicamente hablando) pero demasiado trascendental para dejarlo en el tintero, las reglas de nombrado:

Lo primero es como nombrar cada una de las cosas que utilizamos en PaaSOS sobre todo aquello que sea trascendental para el crecimiento futuro.

Nombrado;

Reglas básicas:

  • Todo lo nombrado será coherente (si nombramos todo de una misma forma será bastante manejable a largo plazo).
  • Estará nombrado en ingles para facilitar el crecimiento de la plataforma.

Reglas de nombrado para tablas:

  • Las tablas del núcleo de PaaSOS llevarán como nombre el que identifique el tipo de información guardada en la misma. Si queremos una tabla para guardar notas simplemente la llamaremos NOTES.
  • Respecto a las tablas de módulos anexos llevaran como nombre una terna acompañada del nombre de la misma. Por poner un ejemplo si queremos crear una tabla de entidades para nuestro módulo ERP la llamaremos ERP_ENTITIES.

Reglas de nombrado de objetos fundamentales: Para los objetos más utilizados en PaaSOS se utilizará una terna que identifique el tipo de objeto.

Ejemplos:

  • Acción (Action): ACT_
  • Cesta de la compra (Basket): BSK_
  • Esquema de tablas (Scheme): SCH_
  • Librería externa (External library): LIB_
  • Fichero adjunto (Attachment): ATT_
  • Procesos (Process): PRC_
  • Funciones (Function): FNC_
  • Colas (Queue): QUE_
  • Formularios (Form): FRM_
  • Multivistas (Multiview): MLV_
  • Rejillas (Grids): GRD_
  • Informes (Reports): RPT_
  • Búsqueda (Query): SQL_
  • Árbol visor de tablas (Table tree viewer): TRE_
  • Lupa (Filter glass): FLT_
  • Localizador (Finder): FND_
  • Bloc de formularios (Form bloc): BLC_
  • Tubo de lista (List pipe): LPP_
  • Tubo de ficha (record pipe): RPP_
  • Casillero (Slot): SLT_
  • Toolbar (Toolbar): TLB_
  • Dispositivo serie (Serial): COM_
  • Protocolo TCP/IP (TCP/IP Protocol): TCP_
  • Menús (Menu): MNU_

Reglas de nombrado de objetos secundarios: Los objetos secundarios creados en PaaSOS utilizarán una descripción clara del objeto al que representan (sin terna que describa el tipo).

Ejemplos:

  • Constante (Constant): ERROR, FRM_DELETE_TITLE, BTN_CANCEL, MSG_NOT_OWNER
  • Dibujo (Picture): ALARM_CLOCK, FLAG_GREEN, FLAG_PURPLE, SYS_CURRENT_SESSION_ID
  • Variable (Variable): SYS_SYSTEM_USER_NAME
  • Marco (Frame): AUTOEXEC
  • Control Svg (SVG Control): BUTTON_BERYL
  • Imagen Svg (SVG Image): BUTTON_BERYL_NORMAL, BUTTON_BERYL_PRESSED

Patrones y prácticas ,

Imprimelo! Imprimelo! | Imprimelo! Guardalo como PDF!

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votes, average: 4,00 out of 5)
Loading ... Loading ...