Uso da CPU aplicacao do GasPro

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

Moderador: Moderadores

Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Uso da CPU aplicacao do GasPro

Mensagem por Alexandre Silva »

Uma das inumeras vantagens que é apontado no Harbour é uso minimo da CPU..
Bem tenho 2 aplicacoes em Harbour.. .com a mesma forma de complicao com Hbmk2

Código: Selecionar todos


# para exec final
-oloja.exe
-inc
-prgflag=/l
-L\clipper5\lib
-lmylib
-lxhb
-lhbct
-lhbwin
-compr=def
-rebuild
loja.prg
loja1.prg
funcoes.prg
loja6b
loja6c

Uma feita na unha LOJA, e outra que é gerada pelo GASPRO bem maior..
Essa primeira usa proximo de 0 (zero) de CPU quando esta rodando e 0 se estiver parada
Na aplicacao do GASPRO , a CPU varia de 30 a 40 % e mesmo parada usa 30 % !!
Tem haver com o tamanho ?? A primeira, LOJA, tem 32 prg com 5000 linhas em media cada prg
a do GASPRO tem quase 300 prg com 700 a 1500 linhas cada

o Uso da CPU nao devia ser minimo ?? ou é assim mesmo
o flag -compr=def ajuda em alguma coisa ??
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Uso da CPU aplicacao do GasPro

Mensagem por sygecom »

Alexandre Silva escreveu: Uma feita na unha LOJA, e outra que é gerada pelo GASPRO bem maior..
Essa primeira usa proximo de 0 (zero) de CPU quando esta rodando e 0 se estiver parada
Na aplicacao do GASPRO , a CPU varia de 30 a 40 % e mesmo parada usa 30 % !!
Está compilado com Harbour ou Clipper-GASPRO ?
Alexandre Silva escreveu: Tem haver com o tamanho ?? A primeira, LOJA, tem 32 prg com 5000 linhas em media cada prg
a do GASPRO tem quase 300 prg com 700 a 1500 linhas cada
Não deveria ter problema não, eu tenho 259 prg e um EXE de 10MB e não tenho problemas.
Alexandre Silva escreveu: o Uso da CPU nao devia ser minimo ?? ou é assim mesmo
Está parado ou processando algum relatorio ou rotina sua ? se tiver parado deveria está estancado no 0%
Alexandre Silva escreveu: o flag -compr=def ajuda em alguma coisa ??
Apenas para diminuir o tamanho do EXE e mais nada, não diferencia no processamento nem na execução inicial. Esse comando usa o UPX
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Uso da CPU aplicacao do GasPro

Mensagem por Alexandre Silva »

Está compilado com Harbour ou Clipper-GASPRO ?
O LOJA é feito no clipper,puro, sem graficos, sem mouse, modo console, e compilado com Harbour
roda beleza em CDX quase sem uso da CPU

O outro sistema é em GASPRO e foi compilado com Harbour..usa em torno de 40 % de CPU mesmo parado no MENU principal..
Está parado ou processando algum relatorio ou rotina sua ? se tiver parado deveria está estancado no 0%
Como disse acima, parado, no menu para escolher uma opcao do menu, por exemplo.. usa 30 a 40 % da CPU..
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Uso da CPU aplicacao do GasPro

Mensagem por sygecom »

É Alexandre, normal não é, tem algo errado ai, o que não sei. Tente mudar de compilador C, ou tente rever a lógica dos seus menus.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Uso da CPU aplicacao do GasPro

Mensagem por asimoes »

Alexandre,

O uso da função inkey pode gerar esse consumo veja:

Com consumo entre 1% e 3%

Código: Selecionar todos

DO WHILE .T.
   nKey:=inkey(.1)
   IF nKey = 27
      EXIT   
   ENDIF
ENDDO
Com consumo > 40%

Código: Selecionar todos

DO WHILE .T.
   nKey:=inkey()
   IF nKey = 27
      EXIT   
   ENDIF
ENDDO
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
clipsis
Usuário Nível 2
Usuário Nível 2
Mensagens: 79
Registrado em: 02 Jun 2010 11:53
Localização: brasil

Uso da CPU aplicacao do GasPro

Mensagem por clipsis »

Olá a todos!

Oi Alexandre, tudo bem? Espero que sim.

Ops! Não tinha visto a resposta do asimoes

Primeiro como você fez para compilar as "Funções" do GASPro ?
Se estiver usando a GASLIB.prg, elá tem um "bugzinho", quando se usa a função IN_KEY().

Segue abaixo:

Código: Selecionar todos

//-------------------------------------------------------------------
Function INKY(xArg1)
   Local xVar1:= 0,xVar2,xVar3:= Seconds()
   //Algodao bloqueou Do While (.T.)
   //Algodao bloqueou    xVar1:= InKey()
   //Algodao bloqueou    x:= "POEHORA"
   //Algodao bloqueou    &x()
   //Algodao bloqueou    If (xArg1 = Nil .OR. xVar1 # 0)
   //Algodao bloqueou       Exit
   //Algodao bloqueou    Else
   //Algodao bloqueou       If ((xVar2:= Seconds()-xVar3,xArg1 > 0 .AND. (xVar2 > xArg1 .OR. xVar2 < 0)))
   //Algodao bloqueou          Exit
   //Algodao bloqueou       EndIf
   //Algodao bloqueou    EndIf
   //Algodao bloqueou EndDo

   IF xArg1<>nil
      xVar1:= InKey(xArg1) //essa linha n„o tinha
   ELSE
      xVar1:= InKey() //essa linha n„o tinha
   ENDI
   Return xVar1
Espero ter ajudado!

Abrs
Clipper 5.2/Blinker
Harbour 3.0/Mingw
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Uso da CPU aplicacao do GasPro

Mensagem por asimoes »

Alexandre

Outra coisa que constatei:

MENU TO o consumo é <= 3%
GET / READ o consumo é <= 3%
ALERT() o consumo é <= 3%

Verifique se não há nenhum inkey() no seu código.

Fiz estes testes com o harbour compilado http://sourceforge.net/projects/harbour ... e/download

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Uso da CPU aplicacao do GasPro

Mensagem por Jairo Maia »

Olá Pessoal,

Aplicações do Gas tem inkey "pra todo lado". Arriscaria dizer que são baseadas em inkey. Como o Alexandre disse, mesmo parada no menu usa 40%. Se o mouse está ativo, neste caso ficamos estacionados num DO WHILE, quando não, ficamos num INKEY(0). Ou seja, a aplicação sempre está usando o processador.

Duas perguntas:
1- Como é possivel alterar?
2- Qual a implicação na aplicação?

Compilado com Harbour, como já disse em outro tópico, me parece não alterar nada. Mas também gostaria de saber que implicação isso tem na aplicação.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Alexandre Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 376
Registrado em: 26 Mar 2007 00:16
Localização: Itapema - SC

Uso da CPU aplicacao do GasPro

Mensagem por Alexandre Silva »

OPA :))
Mudei essa funcao do INKY() e o uso da CPU ta 0 ou proximo disso...que coisa !
Pra mim veleu...
Primeiro como você fez para compilar as "Funções" do GASPro ?
Que funcoes ? Clipsis eu compilo normalmente com o Harbour, nao fiz uma lib porque eventualveme estou fazendo ajustes naquele "lib" (algodao) que foi disponibilizada aqui.

Vc que esta usando o gaspro, esta usando NSX ou CDX ? já colocou no cliente pra valer ?? teve problemas com corrupcao de indices ?
* Clipper 5.2e/Gaspro 4.0 /CDX/Blinker 7.0 Harbour 3.2 Console Hbmk2
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Uso da CPU aplicacao do GasPro

Mensagem por clodoaldomonteiro »

Amigos,

Também tenho problemas com meus aplicativos consumindo 100% da CPU e quando desativo a GetSys do GAS a CPU fica em 0%.
Gostaria de saber se vocês tem alguma solução para isso.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Uso da CPU aplicacao do GasPro

Mensagem por sygecom »

Posta o GETSYS que está usando para analisarmos.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Uso da CPU aplicacao do GasPro

Mensagem por clodoaldomonteiro »

Caro Leonardo,

Desculpe a demora na resposta, muito trabalho esse início de ano.

Segue em anexo a GetSys.prg que uso.

Caso queira, posso mandar uma aplicação com os fontes, ou até mesmo, você pode baixar uma executável no endereço: central.simplesinformatica.com
Anexos
GETSys.prg
GetSys do GASPro (Modificada)
(35.83 KiB) Baixado 90 vezes
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Uso da CPU aplicacao do GasPro

Mensagem por Itamar M. Lins Jr. »

Tem como colocar um pequeno Prg (exemplo) p/ ser compilado com ela(getsys.prg) p/ testar ?
Cadê as funções: Q_TEC(0) e JOGANOBUFF... ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Uso da CPU aplicacao do GasPro

Mensagem por Itamar M. Lins Jr. »

Tentei fazer um teste aqui, e fica difícil se vc não tirar tudo que não é necessário para isolar o problema.

Código: Selecionar todos

C:\fontes\teste>hbmk2 main.prg GETSys.prg
Harbour 3.4.0dev (7ab8869) (2015-03-23 14:35)
Copyright (c) 1999-2015, https://github.com/vszakats/harbour-core/
Compiling 'GETSys.prg'...
Harbour 3.4.0dev (7ab8869) (2015-03-23 14:35)
Copyright (c) 1999-2015, https://github.com/vszakats/harbour-core/
Compiling 'main.prg'...
Lines 15, Functions/Procedures 3
Generating C source output to 'C:\Users\Itamar\AppData\Local\Temp\hbmk_tu9ug9.di
Done.n.c'...
Lines 1902, Functions/Procedures 25
Generating C source output to 'C:\Users\Itamar\AppData\Local\Temp\hbmk_tu9ug9.di
r\GETSys.c'... Done.
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x4f
8): undefined reference to `HB_FUN_CONTA'
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x52
8): undefined reference to `HB_FUN_TAMANHOMSG'
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x2a
8): undefined reference to `HB_FUN_DBOX'
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x35
8): undefined reference to `HB_FUN_WVW_SETCLIPBOARD'
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x41
8): undefined reference to `HB_FUN_LPAD'
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x54
8): undefined reference to `HB_FUN_WVW_GETCLIPBOARD'
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x55
8): undefined reference to `HB_FUN_WVW_PASTEFROMCLIPBOARD'
C:/Users/Itamar/AppData/Local/Temp/hbmk_tu9ug9.dir/GETSys.o:GETSys.c:(.data+0x6d
8): undefined reference to `HB_FUN_ALERTAM'
...

hbmk2: Hint: Add input file 'gtwvw.hbc' for missing Harbour function(s):
       wvw_PasteFromClipboard(), wvw_GetClipboard(), wvw_SetClipboard()
hbmk2: Hint: Add input file 'hbct.hbc' for missing Harbour function(s): WBox()
hbmk2: Dica: Corrigir os nomes de fun├º├Áe(s) possivelmente digitado errado:
       DBOX() -> WBox()
hbmk2: Erro: Referenciada, ausente, mas fun├º├Áes Harbour desconhecida(s):
       CONTA(), TAMANHOMSG(), LPAD(), ALERTAM()

C:\fontes\teste>
Tem que colocar o código mínimo possível e auto compilável, para as outras pessoas possam testar.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Uso da CPU aplicacao do GasPro

Mensagem por Jairo Maia »

Olá Clodoaldo,

Não baixei seu GetSys, mas tenho uma pergunta em função de ser um sistema que foi migrado do GasPro: Você está usando as funções do mouse?

Se sim, esse problema está na função MouseGet(), e não no GetSys.Prg.

Nota: O uso de 100% da CPU nesse caso é virtual. Se você abrir qualquer outro programa será liberado espaço para ele e vai funcionar normal. Há como consertar isso, mas depende de como está seus fontes. Se você desabilitar para teste o mouse em seu sistema, verá que o uso da CPU cai para Zero quanto ele estiver inoperante.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder