
São ferramentas de análise que permitem usartodos os seus núcleos de CPUe também ferramentas que ajudam você a recuperar a memória (ainda não consigo pensar em nenhuma, mas já vi muitas) um truque? Essas ferramentas realmente funcionam?
Responder1
Fique longe dos “otimizadores de memória”. Eles não ajudam você. Deixe o gerenciamento de memória para o sistema operacional!
Isso lista os motivos:http://www.t3chnophilia.com/2008/08/5-reasons-you-shouldnt-use-memory.html
Responder2
Otimizadores de memória
Houve um tempo em que os usuários do DOS 386/486 precisavam otimizar manualmente seus arquivos config.sys e autoexec.bat com cuidado para carregar o máximo possível de coisas "altas" (acima de 640K). Carregar a coisa errada primeiro pode prejudicar todo o resto em seu precioso espaço de aplicativo de 640K.
Depois vieram os otimizadores de memória que descobriram essas coisas automaticamente. Eles alcançaram a verdadeira utilidade e maturidade bem na época em que o Windows 95 os tornou obsoletos.
Otimizadores de sistema
Outras coisas que os otimizadores de velocidade fazem incluem esvaziar a lixeira, desfragmentar o disco, limpar o registro, remover logs de instalação antigos, desinstalar drivers desnecessários e desinstalar fragmentos de programas antigos.
Se acontecer de eles limparem algo bem no limite, a melhoria na velocidade pode ser dramática. Normalmente, não.
Como você pode imaginar, você pode fazer todas essas coisas sozinho, sem gastar dinheiro.
Responder3
A julgar pelo seu nome de usuário, diria que você é um desenvolvedor de software como eu.
Se um aplicativo não for escrito para aproveitar as vantagens do multithreading, um aplicativo auxiliar não fará nada por você.
Se você estiver executando um aplicativo multithread e ele estiver escrito corretamente, os algoritmos de agendamento de threads no Windows funcionarão perfeitamente. Programas como este existem para tirar vantagem de pessoas que não sabem o que está acontecendo nos bastidores.
Quase todos os computadores modernos possuem pelo menos dois processadores, geralmente chamados de “núcleos”.
Deveria ser uma revelação absoluta, já que todos sabemos que um núcleo e um processador são duas coisas diferentes.
Responder4
Sou desenvolvedor, então responderei a essa pergunta da perspectiva C/C++. Supondo que eu esteja escrevendo um programa GUI e não quebre threads de trabalho em nenhum lugar dele, CreateThread()
ele é de núcleo único e nada que você possa fazer ajudará. Se estou usando CreateThread()
e CreateProcess()
, como programador, posso tentar definir a afinidade. Também posso definir prioridades de agendamento, embora sejam aproximadas com base nestes tipos de descrições: Baixa, Normal, Alta, Abaixo do Normal, Acima do Normal. Os níveis de thread subjacentes reais são 1-16 (17-32 para código de nível de kernel), mas você não pode mapeá-los diretamente, apenas pode ser colocado em uma lixeira de acordo com os cálculos do agendador. Não tenho mais controle do que isso sobre como controlo meus threads. Os componentes internos do Windows Schedular não são conhecidos fora da Microsoft, em parte porque a Microsoft os altera entre as versões do Windows para garantir que eles se mantenham atualizados sobre o uso do sistema e façam com que as coisas corram da maneira mais tranquila possível.
A ideia de que outro aplicativo vá ajudar é ridícula, a menos que interrompa meu processo entre núcleos. Fazer isso seria muito difícil se não fosse no nível do kernel e poderia quebrar o aplicativo de qualquer maneira. Tentar forçar o agendador a fazer algo diferente também é um desperdício de ciclos de CPU, pois você precisa fazer um cálculo para acelerar as coisas e depois aplicá-lo aos seus threads e processos.
Finalmente, você pode tornar seu sistema mais instável usando ferramentas como essas. Os scanners antivírus são executados em baixa prioridade por um motivo, por exemplo. Leia sobre o valor de gentileza de um processo no Linux (é o mesmo conceito no Windows: basicamente, os processos são considerados ruins se consumirem recursos. No Linux, eles realmente ganham menos tempo por esse mau comportamento. No Windows, eles apenas consomem recursos e tornar tudo mais lento). Portanto, embora o programa deva ser capaz de lidar com isso, suas ferramentas podem dar aos processos mais prioridade do que eles realmente desejam, ou menos quando necessário.
Como já foi dito, é melhor deixar isso para o sistema operacional.