Página 4 de 4
Liberar memoria ao fechar Formulario com objeto criado
Enviado: 29 Set 2022 16:29
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
Aqui o programa teste do Quintas em um Win 10 64 Bits com 3 Gb de RAM
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é)
Na segunda vez (já com o café na mesa...)
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é....
Liberar memoria ao fechar Formulario com objeto criado
Enviado: 29 Set 2022 23:53
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 ?
Liberar memoria ao fechar Formulario com objeto criado
Enviado: 30 Set 2022 11:52
por JoséQuintas

- img2.png (10.51 KiB) Exibido 2162 vezes
Teste postado por usuário internacional no harbour-users.
Por enquanto apenas a constatação de diferença.
Liberar memoria ao fechar Formulario com objeto criado
Enviado: 11 Out 2022 11:13
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.