InstantObjects (II)

Pruebas

Hemos realizado las primeras pruebas de rendimiento con InstantObjects.

Inicialmente hice un port del broker de IBX para poder utilizar las MDO para acceder a Firebird, y con ese realice las primeras pruebas. He de decir que me quede decepcionado, bastante, por el rendimiento: 2 minutos para crear 3000 artí­culos, cuando lo mismo haciendo simples INSERTs habí­a tardado 45 segundos. No esperaba que el rendimiento fuera igual, pero tampoco tan lento.

Entonces me he puesto a buscar información y he leí­do que la librerí­a de acceso a Interbase/Firebird UIB es rápida, y como en InstantObjects viene un broker para UIB, pues nada a probar.

He realizado el mismo test, con el mismo equipo y el resultado ha sido fantástico: 29 segundos, más rápido que MDO de forma directa.

Voy a continuar investigando, no vaya a ser que UIB tenga alguna pega.

Problema con la clase base

Ahora la pega la tengo en el modelo de clases, al crear una clase que es la base de todas, interesa que todas tengan unos determinados atributos y métodos.

Resulta que en la base de datos se crea una fila en la tabla por cada objeto creado en cualquier clase descendiente, con lo que a poco que se trabaje la tabla de la clase base tendrá cientos de miles de filas, y millones en un par de años, con los consiguientes problemas de rendimiento.

Vamos a ver como podemos conseguir por una parte tener la clase base, por otra que no se cree la tabla correspondiente, pero que las clases herederas si tengan los atributos de la base.

En fin, continuaremos informando.

Actualización 16/03/2007
Ye he solucionado lo de la clase base. Simplemente tení­a que decirle que no la almacenar, tan sencillo como eso, pero torpe de mi no lo veí­a, no se que narices estaba buscando.

2 Replies to “InstantObjects (II)”

  1. Richard, lo probé hace un tiempo, cuando me decidí­ por MDO y no me terminó de convencer, demasiado complejo para mis necesidades. Es verdad que tiene en su soporte a múltiples SGDB su mejor baza.

    ¿Porque lo preguntas?