Optimización de algunos procesos en IC

Después de dos semanas de arduo trabajo se lograron optimizar dos procesos que representaban un considerable costo computacional cuando eran ejecutados.

El primero, "actualizar orden", es importante para desplegar correctamente el catálogo contable con su estructura jerarquica, en Cuentas/Ver catálogo. Se tomó como comparativo para las pruebas una base de datos que está en operación, con un catálogo contable de 1400 cuentas. De 15 minutos se redujo a algunos 5 segundos.

El segundo proceso es de mayor importancia. Es la función que recalcula los saldos. Permite conocer los cargos, abonos y saldos iniciales y finales de las cuentas afectables, en base a los movimientos hechos en las pólizas, y además calcular hacia arriba en el árbol de la estructura contable. Cada vez que se agrega o modifica una póliza en un periodo contable, este proceso es llamado, para calcular correctamente todos los estados financieros. Para la misma base de datos, se redujo el tiempo de cálculo de 5:35 (expresado en minutos y segundos) a solo 0:47.

Estas optimizaciones dependen de cambiar los algoritmos. De unos que se basaban en el procesamiento directo e intensivo de diversas tablas, a otros que primero cargan toda la información en memoria, usando algunas medianamente complicadas estructuras de datos, procesan con ellas la información y luego la regresan a las tablas.

Faltan algunas pruebas intensivas en diversos ambientes (red alámbrica, inalámbrica, SQL Server, MySQL) pero por lo pronto los tiempos de procesamiento son cifras bastante alentadoras.

A partir de IC 7.5.5098.

En estos tiempos de reformas debemos de hacer nuestra parte.

Comentarios

Entradas más populares de este blog

Ciclo de vida de préstamos

Reporte de Buró de Crédito INTF versión 14

Base de datos de códigos postales