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 >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    delphi-br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a