clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Moderador: Moderadores
- aprendiz_ce
- Usuário Nível 3

- Mensagens: 147
- Registrado em: 21 Jul 2011 10:05
- Localização: Fortaleza/CE
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
José Quintas,
Acho que o link anterior deveria está com problemas pela manhã, pois ainda pouco consegui baixar o OS_Lib e também acessei todo o conteúdo do referido site.
Resultado do teste:
Inclui logo abaixo dos meus "SETs" do sistema, o OL_AutoYield(.T.) e nada mais... compilei e executei sem erro algum. Fiquei monitorando pelo "Gerenciador de Tarefas" e percebi que o uso da CPU com o sistema em STAND BY ficou oscilando entre 1 a 28% e que anterior mente já partia dos 55%. Seria isso mesmo, ou eu apliquei a OS_LIB de forma errada? Monitorei em alguns "LOOP" e "INDEX", mas não vi mudança muito expressiva se comparo sem o uso do OS_LIB.
Acho que o link anterior deveria está com problemas pela manhã, pois ainda pouco consegui baixar o OS_Lib e também acessei todo o conteúdo do referido site.
Resultado do teste:
Inclui logo abaixo dos meus "SETs" do sistema, o OL_AutoYield(.T.) e nada mais... compilei e executei sem erro algum. Fiquei monitorando pelo "Gerenciador de Tarefas" e percebi que o uso da CPU com o sistema em STAND BY ficou oscilando entre 1 a 28% e que anterior mente já partia dos 55%. Seria isso mesmo, ou eu apliquei a OS_LIB de forma errada? Monitorei em alguns "LOOP" e "INDEX", mas não vi mudança muito expressiva se comparo sem o uso do OS_LIB.
Sucesso é a soma de pequenos esforços, repetidos o tempo todo.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Sim, isso mesmo.
O modo automático reduz aonde possivel, procurando não deixar lento nem o aplicativo e nem o Windows.
Pra melhorar mais, pode incluir chamadas a OL_Yield() em pontos estratégicos, aonde tem certeza que vai ficar aguardando.
Programas Windows também tem algo assim.
Só fazer um módulo de teste e vai ver a diferença.
O consumo fica em ZERO.
O modo automático reduz aonde possivel, procurando não deixar lento nem o aplicativo e nem o Windows.
Pra melhorar mais, pode incluir chamadas a OL_Yield() em pontos estratégicos, aonde tem certeza que vai ficar aguardando.
Programas Windows também tem algo assim.
Só fazer um módulo de teste e vai ver a diferença.
Código: Selecionar todos
PROCEDURE Main
DO WHILE Inkey() != 27
OL_Yield()
ENDDO
RETURN
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Em bloqueios de registro:
E outros lugares mais.
Liberando tempo para o Windows, ele tem tempo de conversar com servidor, ler disco, gravar disco, bloquear, etc. etc.
Código: Selecionar todos
DO WHILE ! Rlock()
Inkey(0.5)
OL_Yield()
ENDDO
Liberando tempo para o Windows, ele tem tempo de conversar com servidor, ler disco, gravar disco, bloquear, etc. etc.
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/
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/
- aprendiz_ce
- Usuário Nível 3

- Mensagens: 147
- Registrado em: 21 Jul 2011 10:05
- Localização: Fortaleza/CE
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Boa tarde, Josè Quintas.
Ainda bem que eu acertei no uso da OS_LIB. Agora, com essas suas orientações finais, a coisa vai ficar melhor ainda. Confesso que fiquei surpreso com essa LIB, pois funciona mesmo e acaba dando um "Upgrade" no desempenho do EXE.
Muitíssimo obrigado pela sua colaboração.
Forte abraço!
P.S.: Notei que o EXE ficou com 1/3 do tamanho se comparado quando ele era compilado com Exospace. Muito bacana!
Ainda bem que eu acertei no uso da OS_LIB. Agora, com essas suas orientações finais, a coisa vai ficar melhor ainda. Confesso que fiquei surpreso com essa LIB, pois funciona mesmo e acaba dando um "Upgrade" no desempenho do EXE.
Muitíssimo obrigado pela sua colaboração.
Forte abraço!
P.S.: Notei que o EXE ficou com 1/3 do tamanho se comparado quando ele era compilado com Exospace. Muito bacana!
Sucesso é a soma de pequenos esforços, repetidos o tempo todo.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Mas e quanto ao problema de reindexação?
Ou no final tinha a ver com liberar tempo ao Windows?
Ou no final tinha a ver com liberar tempo ao Windows?
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/
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/
- aprendiz_ce
- Usuário Nível 3

- Mensagens: 147
- Registrado em: 21 Jul 2011 10:05
- Localização: Fortaleza/CE
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Olá Josè Quintas, bom dia.
Foi até bom você ter perguntado!
Para ser sincero, no momento está 100%. Mas acho que o conjunto das ações melhorou o desempenho desse ERP, e como isso, consegui que a indexação e o tempo de Windows ficassem a contento.
Comentário:
Notei uma coisa estranha. Quando usei o OS_LIB pela primeira vez e monitorei o uso de recursos do PC/CPU, percebi uma redução significativa, só que agora, ao refazer o mesmo monitoramento, o uso de recursos voltou aos 50%, e isso monitorando somente com o ERP em execução, nada além dele. O que pode ser? Quando inicio o monitorando o mesmo inicia em 1% e quando carrego o ERP o mesmo dispara para 50%.
Grato pela sua atenção e aguardo o seu comentário.
Foi até bom você ter perguntado!
Para ser sincero, no momento está 100%. Mas acho que o conjunto das ações melhorou o desempenho desse ERP, e como isso, consegui que a indexação e o tempo de Windows ficassem a contento.
Comentário:
Notei uma coisa estranha. Quando usei o OS_LIB pela primeira vez e monitorei o uso de recursos do PC/CPU, percebi uma redução significativa, só que agora, ao refazer o mesmo monitoramento, o uso de recursos voltou aos 50%, e isso monitorando somente com o ERP em execução, nada além dele. O que pode ser? Quando inicio o monitorando o mesmo inicia em 1% e quando carrego o ERP o mesmo dispara para 50%.
Grato pela sua atenção e aguardo o seu comentário.
Sucesso é a soma de pequenos esforços, repetidos o tempo todo.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Esquisito. talvez dependa do momento.
Não custa confirmar se depois dos testes acabou deixando sem OL_AutoYield( .T. ) ... rs
Aqui notava que ao mexer no mouse, já causava mudança no consumo de CPU, seja Clipper ou Windows.
Ao carregar o EXE é normal, consome mais tempo no início, ou durante algum processo, pois está trabalhando.
Se usa mouse, superlib por exemplo, é bom colocar chamadas a OL_Yield() no DO WHILE de checar mouse.
Mouse e teclado são os "vilões" de 100% de CPU.
Eu cheguei a alterar minha GETSYS e aonde possível, substituindo Inkey() por MyInkey(), principalmente onde era infinito (ZERO) ou muito tempo.
Exemplo:
Não custa confirmar se depois dos testes acabou deixando sem OL_AutoYield( .T. ) ... rs
Aqui notava que ao mexer no mouse, já causava mudança no consumo de CPU, seja Clipper ou Windows.
Ao carregar o EXE é normal, consome mais tempo no início, ou durante algum processo, pois está trabalhando.
Se usa mouse, superlib por exemplo, é bom colocar chamadas a OL_Yield() no DO WHILE de checar mouse.
Mouse e teclado são os "vilões" de 100% de CPU.
Eu cheguei a alterar minha GETSYS e aonde possível, substituindo Inkey() por MyInkey(), principalmente onde era infinito (ZERO) ou muito tempo.
Exemplo:
Código: Selecionar todos
FUNCTION MyInkey( nTempo )
LOCAL nKey := 0
IF nTempo == NIL
OL_Yield()
nKey := Inkey()
ELSEIF nTempo == 0
DO WHILE nKey == 0
nKey := Inkey()
OL_Yield()
ENDDO
ELSEIF nTempo > 0.3
DO WHILE nKey == 0 .AND. nTempo > 0
nKey := Inkey( 0.3 )
nTempo -= 0.3
ENDDO
ELSE
OL_Yield()
nKey := Inkey( nTempo )
ENDIF
RETURN nKey
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/
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/
- aprendiz_ce
- Usuário Nível 3

- Mensagens: 147
- Registrado em: 21 Jul 2011 10:05
- Localização: Fortaleza/CE
clipper 5.2b+exspace 1.0g x clipper 5.2e+blinker7
Pois é, muito estranho!JoséQuintas escreveu:Esquisito. talvez dependa do momento.
Não custa confirmar se depois dos testes acabou deixando sem OL_AutoYield( .T. ) ... rs
Aqui notava que ao mexer no mouse, já causava mudança no consumo de CPU, seja Clipper ou Windows.
Ao carregar o EXE é normal, consome mais tempo no início, ou durante algum processo, pois está trabalhando.
Se usa mouse, superlib por exemplo, é bom colocar chamadas a OL_Yield() no DO WHILE de checar mouse.
Mouse e teclado são os "vilões" de 100% de CPU.
Eu cheguei a alterar minha GETSYS e aonde possível, substituindo Inkey() por MyInkey(), principalmente onde era infinito (ZERO) ou muito tempo.
Exemplo:
Código: Selecionar todos
FUNCTION MyInkey( nTempo ) LOCAL nKey := 0 IF nTempo == NIL OL_Yield() nKey := Inkey() ELSEIF nTempo == 0 DO WHILE nKey == 0 nKey := Inkey() OL_Yield() ENDDO ELSEIF nTempo > 0.3 DO WHILE nKey == 0 .AND. nTempo > 0 nKey := Inkey( 0.3 ) nTempo -= 0.3 ENDDO ELSE OL_Yield() nKey := Inkey( nTempo ) ENDIF RETURN nKey
Eu fiz o teste com o "OL_AutoYield( .T. )", e isso eu tenho certeza, pois conferi no fonte e compilei os PRGs logo em seguida.
Sobre o uso de mouse... eu não uso! Pra ser mais especifico, não uso nada além do próprio Clipper (puro). A única coisa que inclui de novo foi esse OS_LIB que passei a usar agora.
Sucesso é a soma de pequenos esforços, repetidos o tempo todo.