BROWSE Vs GRID

HMG en Español

Moderator: Rathinagiri

User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

BROWSE Vs GRID

Post by SALINETAS24 »

Hola a todos...

Con el fin de aclarar los tiempos de carga y de trabajo, me gustaría que alguno de vosotros, (si es posible), probara el siguiente programa en una RED con varios puestos de trabajo, con el fin de valorar correctamente los tiempos que requiere cada proceso.
No obstante diré que con un solo terminal ya se aprecian diferencias, entre las distintas opciones.

El programa trabaja con una DBF que contiene 1.121.735 Registros y muestra un menú con varias opciones a la hora de mostrar los datos, y que el usuario puede elegir, BROWSE, GRID, SET DELETE ON/OFF, Nº DE REGISTROS en ARRAY..., ETC.

Estos son mis resultados.

BROWSE el resultado es el mismo, ya sea con DELETE ON/OFF, con NTX o solo DBF

Carga 1.121.735 Registros
Tiempo de 1º Carga ----> Inmediato
Tiempo de desplazamiento -> Inmediato

Aparentemente es el más rápido para un solo puesto de trabajo..., pero quien necesita cargar 1.121.735 registros..., por eso que me gustaría saber que pasa en una RED con varios puestos de trabajo pidiéndole datos.

GRID, aquí los tiempos cambian

GRID+DBF+NTX Carga 1.121.735 Registros
SET DELETE ON
Tiempo de 1º Carga ----> 5 Segundos
Tiempo de desplazamiento -> Con AvPag se producen retardos importantes
SET DELETE OFF
Tiempo de 1º Carga ----> Inmediato
Tiempo de desplazamiento -> Grandes deplazamientos algo lento.

GRID+DBF
SET DELETE ON
Tiempo de 1º Carga ----> 5 Segundos
Tiempo de desplazamiento -> Con AvPag se producen retardos importantes
SET DELETE OFF
Tiempo de 1º Carga ----> Inmediato
Tiempo de desplazamiento -> Inmediato

GRID+ARRAY con 10000 registros
SET DELETE ON
Tiempo de 1º Carga ----> 3 Segundos
Tiempo de desplazamiento -> Con AvPag tarda 4 segundos en Paginar
SET DELETE OFF
Tiempo de 1º Carga ----> 2 Segundos
Tiempo de desplazamiento -> Con AvPag tarda 4 segundos en Paginar

y por ultimo
GRID VIRTUAL con 10000 registros
SET DELETE ON
Tiempo de 1º Carga ----> Inmediato
Tiempo de desplazamiento -> Inmediato
SET DELETE OFF
Tiempo de 1º Carga ----> Inmediato
Tiempo de desplazamiento -> Inmediato


A la vista de los resultados y para trabajar en un solo puesto de trabajo gana BROWSE por goleada.

BROWSE carga 1121735 de manera inmediata, igual que el GRID VITUAL que lo hace solo con 10000 registros. Ahora falta saber los tiempos de respuesta en una RED local con varios puestos de trabajo pidiendo estos datos.

Imagino que en una RED y salvo la necesidad de cargar toda la DBF, obtendremos un mejor resultado con el GRID VIRTUAL

Recibid un cordial saludo, y gracias por vuestra colaboración.
Attachments
BROWSEvsGRID.rar
(5.15 MiB) Downloaded 116 times
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
User avatar
AUGE_OHR
Posts: 2062
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: BROWSE Vs GRID

Post by AUGE_OHR »

hi,

i have run your Sample and look into your Code how you generate Index

Code: Select all

   X ++
   N ++
   Form_1.LB1.VALUE:="Leyendo "+FACT+" Generando "+aCad[x]+hb_ntoc(n)
   REPLACE FACT WITH aCad[x]+hb_ntoc(n)
   X=IF(X=LEN(aCad),0,X)
i guess it will create many Record which have "same Key" :?:

---

i have "split" Indexkey() into 2 x Field

Code: Select all

INDEX on FIELD->A+FIELD->B TO MYINDEX
so try to put aCad[x] into separate FIELD when create INDEX
have fun
Jimmy
User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

Re: BROWSE Vs GRID

Post by SALINETAS24 »

AUGE_OHR wrote: Sun Apr 18, 2021 4:20 am hi,

i have run your Sample and look into your Code how you generate Index

Code: Select all

   X ++
   N ++
   Form_1.LB1.VALUE:="Leyendo "+FACT+" Generando "+aCad[x]+hb_ntoc(n)
   REPLACE FACT WITH aCad[x]+hb_ntoc(n)
   X=IF(X=LEN(aCad),0,X)
i guess it will create many Record which have "same Key" :?:

---

i have "split" Indexkey() into 2 x Field

Code: Select all

INDEX on FIELD->A+FIELD->B TO MYINDEX
so try to put aCad[x] into separate FIELD when create INDEX
Hola AUGE_OHR y gracias por contestar.

En este caso NO son importantes las claves, SOLO importa el TIEMPO de respuesta.
Existen duplicaciones pero no importa, yo quiero valorar la rapidez en una RED con varios PC. :shock:

Por eso pido de que si algún amigo del foro tiene acceso a alguna RED con varios terminales, que pruebe el programa y que nos pase los tiempos de respuesta y su opinión, puede ser aclaratoria. :ugeek:

Ah! el programa ".exe" puede funcionar desde el servidor, o también se puede ejecutar en cada terminar dirigiendo la "DBF" por medio de la opcion "configuración", "->carpeta DBF".

Muchas gracias por anticipado por la colaboración.
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
User avatar
apais
Posts: 440
Joined: Fri Aug 01, 2008 6:03 pm
DBs Used: DBF
Location: uruguay
Contact:

Re: BROWSE Vs GRID

Post by apais »

Para bajar los tiempos en red lo mejor es usar LETODBf.
Y si es en linux, aún mejor.
Angel Pais
Web Apps consultant/architect/developer.
User avatar
fouednoomen
Posts: 188
Joined: Sun Oct 14, 2012 8:33 am
DBs Used: DBF, MySQL, MariaDB, SQLite, PostgreSQL, Oracle, ODBC
Location: Tunisia

Re: BROWSE Vs GRID

Post by fouednoomen »

Hi Apais
Could you please help me to implement the LETODB step by step , I have already tried it alone but I did not arrive.

Thanks in advance
User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

Re: BROWSE Vs GRID

Post by SALINETAS24 »

Hola a todos de nuevo...
¿Acaso nadie puede probar el programa en una RED con varios puestos de trabajo e informar de los tiempos?
Sobre todo la diferencia entre la opción BROWSE y VIRTUAL GRID.
Muchas gracias
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: BROWSE Vs GRID

Post by andyglezl »

SALINETAS24 wrote: Tue Apr 20, 2021 5:20 am Hola a todos de nuevo...
¿Acaso nadie puede probar el programa en una RED con varios puestos de trabajo e informar de los tiempos?
Sobre todo la diferencia entre la opción BROWSE y VIRTUAL GRID.
Muchas gracias
Hola Salinetas
No solo es probar, hay que modificarlo, ya que no está programado para trabajar en red...
(trata de ejecutar 2 veces el mismo programa en tu misma PC)
Andrés González López
Desde Guadalajara, Jalisco. México.
User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

Re: BROWSE Vs GRID

Post by SALINETAS24 »

andyglezl wrote: Tue Apr 20, 2021 2:21 pm
SALINETAS24 wrote: Tue Apr 20, 2021 5:20 am Hola a todos de nuevo...
¿Acaso nadie puede probar el programa en una RED con varios puestos de trabajo e informar de los tiempos?
Sobre todo la diferencia entre la opción BROWSE y VIRTUAL GRID.
Muchas gracias
Hola Salinetas
No solo es probar, hay que modificarlo, ya que no está programado para trabajar en red...
(trata de ejecutar 2 veces el mismo programa en tu misma PC)
Tienes razón.., :oops: no se puede ejecutar porque falta la clausula SHARED en los USE. :shock:
Ahora ya está incorporada..., quedo pues a la espera de los resultados de la prueba. ;)
Agradecido de antemano.
Attachments
BROWSEvsGRID.rar
(5.15 MiB) Downloaded 104 times
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: BROWSE Vs GRID

Post by andyglezl »

SALINETAS24 wrote: Tue Apr 20, 2021 9:13 pm
andyglezl wrote: Tue Apr 20, 2021 2:21 pm
SALINETAS24 wrote: Tue Apr 20, 2021 5:20 am Hola a todos de nuevo...
¿Acaso nadie puede probar el programa en una RED con varios puestos de trabajo e informar de los tiempos?
Sobre todo la diferencia entre la opción BROWSE y VIRTUAL GRID.
Muchas gracias
Hola Salinetas
No solo es probar, hay que modificarlo, ya que no está programado para trabajar en red...
(trata de ejecutar 2 veces el mismo programa en tu misma PC)
Tienes razón.., :oops: no se puede ejecutar porque falta la clausula SHARED en los USE. :shock:
Ahora ya está incorporada..., quedo pues a la espera de los resultados de la prueba. ;)
Agradecido de antemano.
imagen_2021-04-20_164014.png
imagen_2021-04-20_164014.png (153.65 KiB) Viewed 1902 times
Una prueba rápida (en la misma pc)
El BROWSE DBF+INDEX y El VIRTUAL GRID son inmediatos y al ir al final, también.
El GRID DBF+INDEX tardo 15 seg. y para ir al final, tardo más de 5 min. y se salió sin decir "pío" ;)
Andrés González López
Desde Guadalajara, Jalisco. México.
User avatar
AUGE_OHR
Posts: 2062
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: BROWSE Vs GRID

Post by AUGE_OHR »

hi,

i wonder why we talk about BROWSE / GRID "Speed" when Problem is "that" Index !

i have check DBF for DELETED and found only 2 Records so it is not "the" Problem
than i have create "new" Index with your Code PROC _CreaDBF()

you do REPLACE FIELD with active (!) Index so it will change Position in Order
than you use DBSKIP but that is NOT next Record.

after EOF() you do not "close Index" but did a new Index ON (active Index ?)
have you test your Index with "other" like Cl*pper DBU ?

so it make no Sence to me to talk about BROWSE / GRID when Index is "corrupt"
have fun
Jimmy
Post Reply