Fabrício,

obrigado pelas dicas, vou fazer os testes. O número de registros envolvidos
é pequeno, podendo ser até 30, no máximo 35. Com o tempo vão ocorrendo
somente atualizações nos registros....

Em 1 de setembro de 2010 00:07, Fabricio Colombo <
fabricio.colombo....@gmail.com> escreveu:

> O problema do ClientDataSet é que a perfomance dele cai drasticamente a
> medida que o volume de dados aumenta, principalmente nas operações de
> Edição.
>
> 20 por segundo é tranquilo, desde que a quantidade total de registros no
> cds
> seja baixa, mais sem sombra de dúvida, usar um TList é muito mais rápido, e
> nesse caso vc pode utilizar um TListView para listar as informações.
>
> TQueue ou TStack como foi citado, são para faciliar o tratamento de fila e
> pilha, e não trarão nenhum ganho de performance em relação ao TList, pois,
> internamente utilizam um TList ;)
>
> Recomendo a vc fazer um teste de sobrecarga bem simples utilizado ambas as
> opções. Vc vai constatar facilmente a diferença entre cds e TList.
>
>
> []s
>
>
> Em 31 de agosto de 2010 19:06, Marcos Abreu Ferreira <
> maferreira...@gmail.com> escreveu:
>
> >
> >
> > Fabricio,
> >
> > a quantidade de informações que recebo são em média 20 linhas de
> informação
> > por segundo.
> >
> > Em 31 de agosto de 2010 14:19, Fabricio Colombo <
> > fabricio.colombo....@gmail.com <fabricio.colombo.mva%40gmail.com>>
> > escreveu:
> >
> >
> > > Defina em valores o que seria essa quantidade de informações muito
> > grande.
> > > As vezes não vale apenas criar uma solução muito complexa pra ganhar
> > alguns
> > > milésimos de segundo.
> > >
> > >
> > >
> > > Em 31 de agosto de 2010 14:01, Rubem Rocha
> > > <rubem.ro...@dtmanaus.com.br <rubem.rocha%40dtmanaus.com.br>>escreveu:
> > >
> > > >
> > > >
> > > > Eu penso que a solução, além de usar TClientDataSet, teria que fazer
> > uso
> > > de
> > > > threads e filas, na intenção de implementar algo que em .NET chamamos
> > de
> > > > thread pool (pool de threads).
> > > >
> > > > Sds.
> > > >
> > > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br
> ><delphi-br%
> > 40yahoogrupos.com.br>
> > > [mailto:
> > > > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br
> ><delphi-br%
> > 40yahoogrupos.com.br>] Em nome
> >
> > > de
> > > > Ricardo César Cardoso
> > > > Enviada em: terça-feira, 31 de agosto de 2010 12:51
> > > >
> > > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br
> ><delphi-br%
> > 40yahoogrupos.com.br>
> >
> > > > Assunto: Re: [delphi-br] [MAF] Velocidade de processamento
> > > >
> > > > Ao invés de uma TList, poderia usar TQueue ou TStack dependendo da
> > > > necessidade e volume de dados.
> > > >
> > > > Agora uma pergunta de quem leu e releu e não entendeu direito: vc não
> > > > conseguiria usar um descendente de TStream para resolver essa sua
> > > > necessidade? Acho que seria até melhor do que Array ou estruturas de
> > fila
> > > > (TQueue), pilha (TStack) ou lista (TList).
> > > >
> > > > Atenciosamente,
> > > > Ricardo.
> > > >
> > > > 1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.
> > > >
> > > > 2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor
> > > > compreendida.
> > > >
> > > > 3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!
> > > >
> > > > --- Em ter, 31/8/10, Roni Rodrigo <ronirodr...@yahoo.com.br
> <ronirodrigo%40yahoo.com.br>
> > <ronirodrigo%
> > > 40yahoo.com.br><mailto:
> > > > ronirodrigo%40yahoo.com.br <ronirodrigo%2540yahoo.com.br>> >
> escreveu:
> > > >
> > > > De: Roni Rodrigo <ronirodr...@yahoo.com.br<ronirodrigo%
> 40yahoo.com.br><ronirodrigo%
> > 40yahoo.com.br
> > > ><mailto:
> > > > ronirodrigo%40yahoo.com.br <ronirodrigo%2540yahoo.com.br>> >
> >
> > > >
> > > > Assunto: Re: [delphi-br] [MAF] Velocidade de processamento
> > > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br
> ><delphi-br%
> > 40yahoogrupos.com.br
> > > ><mailto:
> > > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>>
> >
> > > > Data: Terça-feira, 31 de Agosto de 2010, 13:04
> > > >
> > > > cara... o mais rápido acho que não é nem array nem cds... imagino que
> > > >
> > > > uma lista dinâmica ( TList ) seria mais rápida e fácil de manipular,
> > > >
> > > > além de ser mais estruturada....
> > > >
> > > > mas se vc exibe as informações num grid, vc teria q sincronizar tanto
> a
> > > >
> > > > TList como o array, nesse caso acho que seria mais rápido manipular
> > > >
> > > > direto o cds mesmo...
> > > >
> > > > o/
> > > >
> > > > Em 31/08/2010 12:22, Marcos Abreu Ferreira escreveu:
> > > >
> > > > > Pessoal,
> > > >
> > > > >
> > > >
> > > > > estou desenvolvendo uma aplicação onde vou recebendo as informações
> > por
> > > >
> > > > > socket, salvo em um ClientDataSet e disponibilizo elas em um Grid.
> Em
> > > >
> > > > > algumas situações a quantidade de informações é muito grande e veem
> > > todas
> > > >
> > > > > juntas. O campo índice do ClientDataSet é um campo posição
> (numérico
> > de
> > > 2
> > > >
> > > > > posições) e o outro campo é o horário.
> > > >
> > > > >
> > > >
> > > > > Quando recebo a linha de informação, verifico se a posição 1 e a
> > > posição
> > > >
> > > > > anterior existem, carregar os tempos delas em variáveis e depois
> > > > verificar
> > > >
> > > > > se a posição recebida existe, e caso exista, somente altero o valor
> > do
> > > >
> > > > > horário e as diferenças entre elas, e se não estiver, crio um novo
> > > >
> > > > > registro.
> > > >
> > > > >
> > > >
> > > > > Essa verificação da posição 1 e a anterior seria mais rápida se eu
> > > >
> > > > > usasse um
> > > >
> > > > > array ou o ClientDataSet mesmo? e a gravação/alteração seria mais
> > > >
> > > > > rápida em
> > > >
> > > > > qual situação?
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > --
> >
> > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> > >
> > >
> > >
> > >
> >
> > --
> > Att,
> >
> > Marcos A. Ferreira
> > São Paulo - Brasil
> > +55 11 9309-3936
> > +55 11 8905-9889
> >
> > MSN: maferre...@hotmail.it <maferreira%40hotmail.it>
> > Google Talk: maferreira.f2
> > Skype: maferreira.f2
> > LinkedIn: http://www.linkedin.com/in/maferreira/
> > Twitter: @effedois <http://www.twitter.com/effedois/>
> > Esta mensagem pode conter informação confidencial e/ou privilegiada. Se
> > você
> > não for o destinatário ou a pessoa autorizada a receber esta mensagem,
> não
> > pode usar, copiar, ou divulgar as informações nela contidas ou tomar
> > qualquer ação baseada nestas informações. Se você recebeu esta mensagem
> por
> > engano, por favor, avise imediatamente o remetente, respondendo o email e
> > em
> > seguida, apague-o.
> > Agradecemos sua cooperação.
> >
> > This message may contain confidential and/or privileged information. If
> you
> > are not the addressee or authorized to receive this for the addressee,
> you
> > must not use, copy, disclose or take any action based on this message or
> > any
> > information herein. If you have received this message in error, please,
> > advise the sender immediately by reply e-mail and delete this message.
> > Thank you for your cooperation.
> >
> > Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO
> > AMBIENTE.
> > ENVIRONMENT commitment and responsibility, think about Before Printing.
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
>


-- 
Att,

Marcos A. Ferreira
São Paulo - Brasil
+55 11 9309-3936
+55 11 8905-9889

MSN: maferre...@hotmail.it
Google Talk: maferreira.f2
Skype: maferreira.f2
LinkedIn: http://www.linkedin.com/in/maferreira/
Twitter: @effedois <http://www.twitter.com/effedois/>
Esta mensagem pode conter informação confidencial e/ou privilegiada. Se você
não for o destinatário ou a pessoa autorizada a receber esta mensagem, não
pode usar, copiar, ou divulgar as informações nela contidas ou tomar
qualquer ação baseada nestas informações. Se você recebeu esta mensagem por
engano, por favor, avise imediatamente o remetente, respondendo o email e em
seguida, apague-o.
Agradecemos sua cooperação.

This message may contain confidential and/or privileged information. If you
are not the addressee or authorized to receive this for the addressee, you
must not use, copy, disclose or take any action based on this message or any
information herein. If you have received this message in error, please,
advise the sender immediately by reply e-mail and delete this message.
Thank you for your cooperation.

Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO
AMBIENTE.
ENVIRONMENT commitment and responsibility, think about Before Printing.


[As partes desta mensagem que não continham texto foram removidas]

Responder a