Problema de velocidad

Post Reply
User avatar
astursoft
Posts: 139
Joined: Sun Nov 06, 2005 6:14 pm
Location: Asturias

Problema de velocidad

Post by astursoft »

He realizado un codigo muy simple que se lanza desde un boton

Code: Select all

FUNCTION recorre()
   LOCAL i:= 1
   articulo->(DBGoTop())
   DO WHILE !articulo->(Eof())
      articulo->lfiltro:= 1
      i++
      IF i > 300
         msginfo("2")
         i:= 1
      endif
      articulo->(DBSkip())
   enddo
   msginfo("fin")
RETURN nil
Es una Tabla de unos 4800 registros .
El caso es que probado en el simulador ( sin los mensajes ) tarda unos 4 segundos en hacerse .
Pero al pasarlo al pocket se me para , pongo los mensajes para ver por donde va y resulta que tarda en recorrer los 300 registros unos "40 segundos" , osea los 4000 registros es impensable .
Espero alguien mire si esto ocurre en otros pocket , o solo es el mio .
Probado con la version anterior de harbour y la de hoy mismo .
saludso.
Jose Luis Parajón
Asturias
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Luis,

Que cantidad de memoria tienes en el Pocket PC ? Y en el emulador ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
astursoft
Posts: 139
Joined: Sun Nov 06, 2005 6:14 pm
Location: Asturias

Post by astursoft »

en el emulador , mirando en memoria :
Almacenamiento:
Asignada ->14.85MG
libre->14.09MG
Programas :
Asignada->14.85
Libre->9.18

En el pocket
Almacenamiento:
Asignada ->27.50MG
libre->23.28MG
Programas :
Asignada->27.50
Libre->18.37

El Programa se ejecuta en una SD card de 512 mg con 100 mg libres por lo menos .


--------------------- editado -----------------------------

Antonio , problema localizado .
Esta en el acceso a la SD card .

El mismo programa sin tocar pasado a Storage ROM funciona a una velocidad decente .
Ahora la pregunta , se mantienen los datos en storage ROM ante Hard reset ?
Jose Luis Parajón
Asturias
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Jose Luis,

Si, tienes razón, va a ser la velocidad de acceso a la SD card. En cuanto al reset acabo de hacer una prueba con el programa de Carles, y sí, se mantiene tras el reset.

Otra solución sería trabajar fuera de la SD card y luego copiar al final los datos a ella por seguridad.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
astursoft
Posts: 139
Joined: Sun Nov 06, 2005 6:14 pm
Location: Asturias

Post by astursoft »

Antonio , tienes razon , esa será la opción , trabajar en ROM y salvar a SD , he mirado y con un reset a secas se mantienen los datos , pero con un "Hard Reset " (alguno he tenido que hacer ) se pierde todo , el PDA sa pone a Cero .
Miraré la combinacion de programa en SD y datos en ROM a ver que tal ...
Gracias por tu tiempo.
Saludos.

--------------------- editado --------------------------------------

Con el Programa en SD y datos en ROM la velocidad es decente , creo que optaré por copiar datos a rom al lanzar el programa y volcarlos a SD al salir del programa , o al hacer algún cambio importante ,( Grabar pedidos por ejemplo).
saludos.
Jose Luis Parajón
Asturias
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

Hasta ahora no habia notado el bajo rendimiento al trabajar sobre SD, pero con procesos masivos (importar los ficheros maestros, precios, etc) la verdad es el rendimiento es muy pobre. Nada que ver cuando los datos estan en ROM que es rapido.
Claro q un HardReset, o quedarse sin bateria implica perdida de datos.
No tengo claro donde dejar los DBF, aunque creo que sera mejor lento pero seguro.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
astursoft
Posts: 139
Joined: Sun Nov 06, 2005 6:14 pm
Location: Asturias

Post by astursoft »

Biel , engaña al usuario ...
Cuando tengas que hacer procesos largos y lentos , crea en rom un directorio temporal , copia la dbf a este directorio ( eso es rapido ) , ejecuta el proceso con las bases de datos en rom , y luego cuando termine el proceso , copia la dbf resultante a la sd de nuevo .
Saludso.
Jose Luis Parajón
Asturias
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post by Biel EA6DD »

José Luis,
gracias por la sujerencia, lo he probado copiando los dbf a ROM y una vez terminada la importacion volverlos a mover a SD, y funciona perfecto, la importacion es rapida, y la copia de _ no se nota.
Gracias.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Post Reply