Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Reempplazo para el lento TClientDataSet

Quisiera saber que me recomiendan ustedes para reemplazar al lento TClientDataSet y que sea libre/gratis

He visto el KmMemtable pero me parece que no es gratis porque en su sitio no dice nada. Me pueden dejar varias alternativas y evaluare cual me conviene o me gusta mas para trabajar.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #2  
Antiguo 05-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
kbmemtable es (o al menos, era) libre.
De todas formas, no entiendo eso de que el tclientdataset es lento, siempre ha sido rápido.
Responder Con Cita
  #3  
Antiguo 05-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Casimiro, si te fijas en Internet en muchas páginas todos se quejan de que el TClientDataSet es lento. Igualmente para descartar te recomiendo que hagas una prueba como he hecho yo.

Yo la prueba la realice comparando el TClientDataSet con el que trae las Jedi y el de las RxLib. Los resultados que me direnon en su momento fue que estos dos ultimos componentes eran mucho mas rápido que el propio de Delphi. De ahí que me decidí a buscar una alternativa para este.

Si haces la prueba con muy pocos registros no se nota diferencia, pero la cosa cambia cuando tenes que trabajar con muchisimos registros como es mi caso.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #4  
Antiguo 05-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por elrayo76 Ver Mensaje
Casimiro, si te fijas en Internet en muchas páginas todos se quejan de que el TClientDataSet es lento.
Bueno, también encuentras "en internet" que windows es bueno

De todas formas, el tkbmemtable y el de las jedi y las rx son "tablas en memoria" que supongo que trabajan distinto.
Yo siempre he usado el tkbmemtable y el de las rx, cuando he necesitado tener tablas en memoria. Son muy, muy rápidos.
Responder Con Cita
  #5  
Antiguo 05-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
No quiero entrar en la polemica de si es o no es bueno algo. Solo te digo para que lo pienses que hasta Linux puede ser malo segun quien lo mire.

Bueno el tema es ese, además de rápido estoy evaluando que me ofrece de distinto o de nuevo cada uno de esos componentes. Hasta ahora no se con cual quedarme es por eso que consulte.

Ya que me dices que has usado el de las RxLib (y parece que te funciono bien y es rápida) y como las tengo instaladas me parece que me inclinaré a usar este asi no tengo que instalar mas cosas. Con las Jedi en mi caso las uso en las empresa donde ya las tienen instaladas, pero en mi máquina son medio reacio a instalarlas debido a que se instalan muchas cosas que no necesito y algunas no se las pued eliminar para no instalar (aunque tiene alguanas cosas interesantes y que funcionan bien).

Una última consulta para cerrar esto. Sabes si las RxLib funcionan bien en 64 bits. Se que funcionan porque las versiones no oficiales lo dicen pero no conosco nadie hasta el momento que las alla probado en 64 bits.

Muchas gracias por tus comentarios.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #6  
Antiguo 05-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
El de las RX va muy bien.
No lo he probado en 64 bits.
No me gusta Jedi por lo mismo, porque instala tantísimas cosas que no se usan.
Responder Con Cita
  #7  
Antiguo 05-02-2014
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Podrías intentar con esto que comente en este hilo...

Saludos cordiales
Responder Con Cita
  #8  
Antiguo 05-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Gracias cloayza por el aporte. Lo había visto hace un tiempo pero nunca lo use ni lo probe.

¿Comparastes los tiempos de usar esa unit con los de otros componentes de terceros tipo KbmMemTable u otros? Sería bueno hacer una prueba y ver que pasa con esos tiempo, ya que si son similares a los de otros componentes no se justifica agregar mas cosas a la compilación ni al Delphi si se tiene alguno instalado y funciona bien y rápido.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #9  
Antiguo 08-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Amigos, he encontrado en distintos sitios de Internet que dicen que las RxMemoryData no funcionan bien desde la versión de Delphi XE hasta la XE4, por lo que no recomiendo usarlos por el momento.

Despues de leer esos comentarios hice una prueba con la versión mas reciente bajada del sitio http://www.micrel.cz/RxLib/ y efectivamente no funcionan como corresponde. Parece que no toma bien los valores cuando se realiza el post.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #10  
Antiguo 09-02-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
En concreto, ¿qué operaciones son las que encuentras lentas?
Responder Con Cita
  #11  
Antiguo 09-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por elrayo76 Ver Mensaje
Amigos, he encontrado en distintos sitios de Internet que dicen que las RxMemoryData no funcionan bien desde la versión de Delphi XE hasta la XE4, por lo que no recomiendo usarlos por el momento.
Despues de leer esos comentarios hice una prueba con la versión mas reciente bajada del sitio http://www.micrel.cz/RxLib/ y efectivamente no funcionan como corresponde. Parece que no toma bien los valores cuando se realiza el post.
Saludos,
El Rayo
Pues un excompañero las usa con XE4 y le funciona perfecto
Responder Con Cita
  #12  
Antiguo 09-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Sobre en que operación lo encuentro lento. Te cuento que lo he usado para hacer una importación de datos a Firebird de bases que vienen de DBF (uso los TDbf) y son lentos cuando se trata de insertar muchos registros. Si insertas un solo registro ni te das cuenta. Hablo con una importación de 10.000 registros mas o menos y con unos 5 campos por registro.

También he importado a Firebird con TClientDataSet desde archivos de texto plano, pero no con tantos registros como lo anterior y también he notado que tarda mucho

Con respecto a las RxMemoryData que dicen que funcionan en Delphi XE4, primero hay que ver con que versión de las RxLib esta trabajando. Yo he probado la última versión en Delphi 7 y Delphi XE3 y en los dos casos no funcionan correctamente. Además si te fijas en la página de Netfalí ahí mismo hay gente que dice que a ellos no les funciona y es con varias versiones de Delphi.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #13  
Antiguo 09-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, eso que comentas no es nada definitivo para decir que es lento, habría que ver exactamente qué haces y cómo lo haces.

En cuanto al problema que comentas, el que haya dos personas que tengan un problema con rxmemorydata tampoco es nada significativo. A saber qué están haciendo, no dicen nada.
De todas formas, tienes la opción que comenta Neftalí:
Cita:
Los componentes RxLib están con los fuentes.
¿habéis probado a “debuggarlos” para ver si detectáis el error?
Responder Con Cita
  #14  
Antiguo 10-02-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por elrayo76 Ver Mensaje
Sobre en que operación lo encuentro lento. Te cuento que lo he usado para hacer una importación de datos a Firebird de bases que vienen de DBF (uso los TDbf) y son lentos cuando se trata de insertar muchos registros. Si insertas un solo registro ni te das cuenta. Hablo con una importación de 10.000 registros mas o menos y con unos 5 campos por registro.
¿Cómo haces las inserciones? ¿Qué componentes o funciones Delphi involucras en ello (desde la lectura de los DBFs hasta el envío al servidor Firebird)? ¿Verificaste cuál de los elementos o pasos produce la mayor demora? Mostrar un poco de tu código ayudaría.
Responder Con Cita
  #15  
Antiguo 10-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Lo de las RxMemoryData no tengo tiempo para ver el código y donde se produce el error. En este momento necesito algo que funcione bien y rapido. Cuando tenga tiempo veré donde esta el error.

Con respecto a los TClientDataSet, los he comparado haciendo lo mismo con los de las RxMemoryData pero Delphi 7 y se nota la diferencia de tiempo en lo que hace.

Igualmente lo que me parece a mi y no quiero decir que siempre sea así, es que hay mucha gente que se cree que como estan en aumento las velocidades de los compoentes de las computadoras no importa si se utilizan compoentes mas lentos o mas rápidos ne sus aplicaciones. Dejenme decirles que así como aumenta las velocidades, también aumenta el volumen de información a procesar.

Si uno no trata de optimizar los tiempos de las aplicaciones cuanto mas cresca la misma mas dificil sera hacerlo en un futuro.

Gracias a todos por los comentarios.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #16  
Antiguo 10-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Dentro de un tiempo, años, si vuelves a leer lo que has escrito, comprenderás.
Responder Con Cita
  #17  
Antiguo 10-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Que hay que comprender. Nada mas pedía un reemplazo para los TClientDataSet y parece que todo el mundo quiere analizar si trabajo bien o no con el código.

El tema es que yo me preocupo por optimizar mi código ya que trabajo con grandes clientes que tiene mucho volúmen de información para manejar y ellos son los que se quejan que la aplicación es lenta. No digo que con esto toda la aplicación sea mas rápida, pero es un comienzo.

Casimiro, vos que fuistes uno de los que necesitaba mas información hacete una prueba con los TClientDataSet, y usa otros como los kbmMemTable, los de las Jedi o cualquier otro que te guste y me contas los resultados a ver si no es como digo yo y muchos otros por ahí (esos otros son gente que tiene mucha experiencia programando en Delphi).

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #18  
Antiguo 10-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por elrayo76 Ver Mensaje
Que hay que comprender. Nada mas pedía un reemplazo para los TClientDataSet y parece que todo el mundo quiere analizar si trabajo bien o no con el código.
El tema es que yo me preocupo por optimizar mi código ya que trabajo con grandes clientes que tiene mucho volúmen de información para manejar y ellos son los que se quejan que la aplicación es lenta. No digo que con esto toda la aplicación sea mas rápida, pero es un comienzo.
Casimiro, vos que fuistes uno de los que necesitaba mas información hacete una prueba con los TClientDataSet, y usa otros como los kbmMemTable, los de las Jedi o cualquier otro que te guste y me contas los resultados a ver si no es como digo yo y muchos otros por ahí (esos otros son gente que tiene mucha experiencia programando en Delphi).
Saludos,
El Rayo
Ya, por eso lo digo, conozco bien kbmmemtable y el de las jedi porque es el mismo de las rx, los he estado usando desde hace muchos años y experiencia, bueno, con delphi, solamente desde 1998

Pero a donde quiere llegar Al González y yo, es que si un coche me parece lento, no me compro otro coche, primero tendré que ver por qué va lento, pueden ser muchos los motivos, tanto del vehículo como del conductor.
Responder Con Cita
  #19  
Antiguo 10-02-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Mis preguntas van encaminadas a conocer los métodos que llamas y el proceso técnico en general. De esa manera podría intentar descubrir un mecanismo de bajo nivel que sea más eficiente.

Llevo algunos años realizando pequeñas mejoras a TClientDataSet, me son familiares varias estructuras y procesos internos de MIDAS. Si me dices qué estás haciendo con un poco más de información técnica, quizá pueda sugerir algo que sea más rápido en tu caso.
Responder Con Cita
  #20  
Antiguo 10-02-2014
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Esta bien, no vale la pena entrar en discución por este tema. Una cosa mas, entonces porque todo el mundo se pasa a usar otros componentes en vez de usar los nativos de Delphi TClientDataSet? Por algo será.

Para que quede claro las pruebas que hice fueron insertando dos campos uno string y el otro float. No le hice ningún prosesamiento a esos datos, simplemente los inserte y los resultados fueron que con los TClientDataSet tardaba mas que con los RxLib.

No es que este diciendo algo solo porque en la misma página de kbmMemTable dicen que son mas rápidos que otros. Siempre he tomado con pinsas lo que dicen de cada cosa los desarrolladores porque ellos mismos no van a decir nada malo de lo que hacen y con eso de que son mas rápidos es propaganda.

Si no aporta algun otro componente doy por cerrado esto para no discutir sobre algo que no tiene sentido y que se que cada uno tiene su punto de vista.

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Insertar registros en TClientDataSet para no actualizarlos delphijm Conexión con bases de datos 9 11-02-2011 20:05:51
TClientDataSet con SQL PacoPepe SQL 3 23-11-2007 19:34:28
Procedure en Firebird lento o IbQuery lento capo979 Firebird e Interbase 14 17-07-2007 21:35:36
TClientDataSet y el SO tgsistemas OOP 4 02-08-2004 15:01:20
TClientDataSet saul_montalvo Conexión con bases de datos 1 08-09-2003 04:38:10


La franja horaria es GMT +2. Ahora son las 04:57:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi