Ordenar (SORT) uma Hash Table

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Ordenar (SORT) uma Hash Table

Mensagem por JoséQuintas »

fladimir escreveu:Resolvi da seguinte forma, crio um indice temporario reduzindo o range de registros, exemplo periodo tal... ai em cima disso crio uma hashtableAi fica rapido e resolve
E esse índice temporário não é suficiente?
Precisa mesmo da hash table?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Ordenar (SORT) uma Hash Table

Mensagem por fladimir »

Resolve sim, mas estou fazendo testes pra aumentar a performance.

É uma rotina pra EFD q pra cada registro de venda tenho q amarrar os itens conforme CFOP, CST etc... ai pra não ficar criando indice temporario pra cada registro de venda x itens, pensei em filtrar por periodo depois crio uma hashtable em memoria (se desse) e ai manipulo no hash, q pensei ser mais rapido, mas estoura então vou reavaliar dentro da questão dos indices mesmo ou outra logica q melhore a performance.

Vlw Quintas.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Ordenar (SORT) uma Hash Table

Mensagem por JoséQuintas »

Lembro que na SIXCDX tinha opção de sub-índice.
INDEX ON ... TO ... FOR ... WHILE ...
O WHILE funciona como um SET SCOPE, indexaria somente o que é do período.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Ordenar (SORT) uma Hash Table

Mensagem por fladimir »

Quintas, nesse tópico mesmo, algumas postagens atrás vc mencionou em colocar um Inkey() pra não roubar tempo do Windows... poderia explicar melhor isso?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Ordenar (SORT) uma Hash Table

Mensagem por JoséQuintas »

Já viu a janela do programa travada, esperando alguma rotina terminar?
Seria pra evitar isso.

Em alguns casos a rotina fica até mais rápida, porque o Windows precisa tempo pra fazer o trabalho dele, e o programa precisa liberar tempo.

Inkey() - console e GTWVG
DoEvents() - HMG
E tem na HWGUI e deve ter na fivewin, equivalente

Em GUI pior, se num processamento atualizar um controle da tela, se não liberar tempo pra Windows, o conteúdo da tela não é atualizado, e pode acontecer a famosa mensagem "este programa não está respondendo, deseja finalizar?"
Isso é porque o Windows fica tentando "conversar" com o programa, e ele precisa responder, senão considera travado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Ordenar (SORT) uma Hash Table

Mensagem por JoséQuintas »

JoséQuintas escreveu:Isso é porque o Windows fica tentando "conversar" com o programa
correção: com a janela

No caso de HMG normal, o aplicativo inteiro poderia ser fechado ao tentar clicar, sem DoEvents().
No caso da GTWVG com multithead, somente a janela
E GTWVG sem janela, nenhum problema, principalmente multithread.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Ordenar (SORT) uma Hash Table

Mensagem por fladimir »

entendi...

Grato Quintas.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Ordenar (SORT) uma Hash Table

Mensagem por fladimir »

mais uma duvida... com GTWVG qdo colocar o Inkey() ? em todo for next while q exiba mensagem algo na tela?

O q vc orienta na tua experiencia?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Ordenar (SORT) uma Hash Table

Mensagem por JoséQuintas »

Não.
Tem nos relatórios, mas é normal aceitar ESC pra interromper.
Mas em processamento demorado de arquivos pode ser interessante.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder