Clipper On Line • Ver Tópico - Ordenar (SORT) uma Hash Table

Ordenar (SORT) uma Hash Table

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

Moderador: Moderadores

 

Ordenar (SORT) uma Hash Table

Mensagempor JoséQuintas » 24 Out 2018 22:08

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ordenar (SORT) uma Hash Table

Mensagempor fladimir » 24 Out 2018 22:28

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 de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Ordenar (SORT) uma Hash Table

Mensagempor JoséQuintas » 24 Out 2018 23:03

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ordenar (SORT) uma Hash Table

Mensagempor fladimir » 25 Out 2018 16:59

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 de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Ordenar (SORT) uma Hash Table

Mensagempor JoséQuintas » 25 Out 2018 17:35

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ordenar (SORT) uma Hash Table

Mensagempor JoséQuintas » 25 Out 2018 17:44

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Ordenar (SORT) uma Hash Table

Mensagempor fladimir » 26 Out 2018 16:57

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 de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Ordenar (SORT) uma Hash Table

Mensagempor fladimir » 26 Out 2018 17:09

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 de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2434
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Ordenar (SORT) uma Hash Table

Mensagempor JoséQuintas » 26 Out 2018 21:47

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro