Liberar memoria ao fechar Formulario com objeto criado

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
carlaoonline
Usuário Nível 3
Usuário Nível 3
Mensagens: 190
Registrado em: 24 Ago 2014 22:38
Localização: Porto Alegre-RS

Liberar memoria ao fechar Formulario com objeto criado

Mensagem por carlaoonline »

JoséQuintas escreveu:Resta fazer teste no Windows 7, por exemplo, pra testar o sistema operacional.
Executei 3 vezes em cada, um por vez (mas não fechei até ter os 3 resultados)

Aqui o programa teste do Quintas em um Win 7 64 Bits com 1 Gb de RAM
Test_Mem_Win7_64.png

Aqui o programa teste do Quintas em um Win 10 64 Bits com 3 Gb de RAM
Test_Mem_Win10_64.png

Porém mostra resultados diferentes a cada execução....

Num Windows Server 2012 com 8gb executei 3 vezes e fechei os 3, depois de buscar um café executei mais 3 vezes e deu resultados bem diferentes.....

Primeira vez (antes do café)
Teste01_memo_WinServer2012_08GbRAM_Harbour32_Bcc58.png
Na segunda vez (já com o café na mesa...)
Teste02_memo_WinServer2012_08GbRAM_Harbour32_Bcc58.png
No caso do servidor que executata várias funções em segundo plano, até poderia ser relacionado a isso, porém nos demais tb ocorre o mesmo.......Só se for o café....
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Liberar memoria ao fechar Formulario com objeto criado

Mensagem por JoséQuintas »

O resultado do Windows 7 está mais homogênio, mas.... falta saber se depois de um café haveria diferença... kkkk

Alguns resultados são 200 vezes maiores, isso é preocupante, porque é muita coisa.
Parece que tem a ver com quanto foi usado durante o processo, mas não explica cada vez ter um resultado diferente.

O mais complicado agora é: como medir corretamente o consumo de memória ? o que usar de base ?
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

Liberar memoria ao fechar Formulario com objeto criado

Mensagem por JoséQuintas »

img1.png
img2.png
img2.png (10.51 KiB) Exibido 2155 vezes
Teste postado por usuário internacional no harbour-users.
Por enquanto apenas a constatação de diferença.
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

Liberar memoria ao fechar Formulario com objeto criado

Mensagem por JoséQuintas »

Nenhuma novidade.

Alterei minha rotina de erros pra ver o que dá, já que tenho erros eventuais.

Código: Selecionar todos

   IF nDetail > 0
      Errorsys_WriteErrorLog()
      Errorsys_WriteErrorLog( "Error on "       + Dtoc( Date() ) + " " + Time() )
      Errorsys_WriteErrorLog( "EXE Name; " + hb_Argv(0) )
      Errorsys_WriteErrorLog( "JPA: "           + AppVersaoExe() )
      Errorsys_WriteErrorLog( "Memory:" + Ltrim( Str( Memory(0) / 1024 / 1024 ) ) + " GB" )
      Errorsys_WriteErrorLog( "Mem.VM:" + Ltrim( Str( Memory( HB_MEM_VM ) / 1024 / 1024 ) ) + " GB" )
Lembro quando usei MSVC 2010, que precisava instalar o service pack.
O motivo foi porque a Microsoft mudou a forma do C++ "pedir memória ao windows", e sem o service pack dava erro.

Porque o comentário:
A mudança simplesmente tornou o compilador inválido, da própria Microsoft, e precisou de nova versão.
Depois disso, sempre fiquei na dúvida se podemos manter as ferramentas sem atualização.
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