COMO AUMENTAR O CONSUMO DE CPU PARA PROCESSAMENTO DE FÓRMULAS NO EXCEL
Essa semana fui desafiado a processar fórmulas em uma planilha com muitíssimos dados (mais de 200.000 linhas), um daqueles casos em que nossos usuários usam o excel como banco de dados.
A planilha demorava para abrir, mas abrir não era o problema, ao acionar uma execução de fórmula aí sim demorava. Ao olhar o consumo de CPU percebi que o excel estava consumindo 25% apenas de CPU, a memória estava bem tranquila e o I/O também. Sendo assim me restou o entendimento de que o problema, dessa vez, estava mesmo em poder de processamento, mas porque ele não utilizava 100% da minha capacidade de processamento assim como ele faz ao abrir a planilha, por exemplo?
O excel, desde a versão 2007, possui um recurso que permite aumentar a utilização de cpu para formulas e filtros, isso ocorre porque a configuração padrão do excel otimiza o número de processos que farão as operações para o número de threads disponíveis para 1 Core. No meu caso, por exemplo, tenho um computador que possui 4 Cores, cada core dele permite 4 Threads, sendo assim posso ter até 16 threads.
Reforço que essa configuração não influencia na abertura do arquivo, para a qual o excel utilizará todos os recursos necessários, somente nas operações como cálculos, filtros, etc é que sentiremos diferença com essa configuração.
Para acessá-la abra uma nova planilha ou a planilha na qual deseja que a configuração fique válida. Essa configuração é feita por arquivo individualmente.
Vá em Arquivo > Opções e depois selecione o item "Avançado" :
Reforço que essa configuração não influencia na abertura do arquivo, para a qual o excel utilizará todos os recursos necessários, somente nas operações como cálculos, filtros, etc é que sentiremos diferença com essa configuração.
Para acessá-la abra uma nova planilha ou a planilha na qual deseja que a configuração fique válida. Essa configuração é feita por arquivo individualmente.
Vá em Arquivo > Opções e depois selecione o item "Avançado" :
Role a barra de rolagem até encontrar a opção "Fórmulas".
Certifique-se de que a opção "Habilitar cálculos multithread" está habilitada e nela temos as seguintes opções:
- Usar todos os processadores neste computador
- Manual
A primeira opção é a padrão, nela o número de threads é configurado para o máximo de 1 CPU e o excel gerencia isso automaticamente.
A segunda opção permite que você configure o número de threads que o excel deverá utilizar.
Use essa opção com responsabilidade e sabendo o que está fazendo, pois se configurar algo superior a capacidade de seu computador poderá deixar sua situação pior do que a que tinha, pois ele tentará paralelizar mais do que ele efetivamente tem capacidade.
Conforme falamos acima, essa opção é por arquivo, portanto para executar a planilha em outra máquina sugiro que volte ao padrão do excel (automático) e salve o arquivo antes de utilizá-lo no outro computador.
Abaixo segue um vídeo que eu fiz mostrando a configuração. Ele não foi feito no mesmo computador o qual precisei realizar a configuração, mas segui os mesmos passos e a explicação segue da mesma forma que nesse texto.
Até a próxima!