Articles of otimização de

MYSQL OR vs IN desempenho

Eu estou querendo saber se há alguma diferença em relação ao desempenho entre os seguintes SELECT … FROM … WHERE someFIELD IN(1,2,3,4) SELECT … FROM … WHERE someFIELD between 0 AND 5 SELECT … FROM … WHERE someFIELD = 1 OR someFIELD = 2 OR someFIELD = 3 … ou o MySQL irá otimizar o […]

Maneira mais rápida de determinar se a raiz quadrada de um inteiro é um inteiro

Eu estou procurando o caminho mais rápido para determinar se um valor long é um quadrado perfeito (ou seja, sua raiz quadrada é outro inteiro): Eu fiz isso da maneira mais fácil, usando a function Math.sqrt () interna, mas eu estou querendo saber se existe uma maneira de fazer isso mais rápido, restringindo-se ao domínio […]

Animação Swing em execução extremamente lenta

Eu tenho um problema com a minha animação atual que estou executando usando o Java Swing. É uma simulação de events discretos e a simulação baseada em texto está funcionando bem, estou tendo problemas para conectar a simulação à saída da GUI. Para este exemplo, terei 10 carros para serem simulados. Os carros são representados […]

Código C ++ para testar a conjectura Collatz mais rápido do que a assembly escrita à mão – por quê?

Eu escrevi estas duas soluções para o Project Euler Q14 , em assembly e em C ++. Eles são a mesma abordagem de força bruta idêntica para testar a conjectura de Collatz . A solução de assembly foi montada com nasm -felf64 p14.asm && gcc p14.o -o p14 O C ++ foi compilado com g++ […]

Pode-se usar um profiler, mas por que não parar o programa?

Se algo está fazendo um programa de thread único levar, digamos, dez vezes mais tempo do que deveria, você poderia rodar um profiler nele. Você também pode simplesmente interrompê-lo com um botão de “pausa” e verá exatamente o que está fazendo. Mesmo que seja apenas 10% mais lento do que deveria, se você parar mais […]

Qual é a melhor maneira de definir um registro para zero no assembly x86: xor, mov ou and?

Todas as instruções a seguir fazem a mesma coisa: set %eax para zero. Qual é o caminho ideal (requerendo menos ciclos de máquina)? xorl %eax, %eax mov $0, %eax andl $0, %eax

Melhorar o desempenho INSERT-por-segundo do SQLite?

Otimizar o SQLite é complicado. O desempenho de inserção em massa de um aplicativo C pode variar de 85 inserções por segundo a mais de 96.000 inserções por segundo! Background: Estamos usando o SQLite como parte de um aplicativo de desktop. Temos grandes quantidades de dados de configuração armazenados em arquivos XML que são analisados […]

Qual é a maneira mais eficaz de comparar float e double?

Qual seria a maneira mais eficiente de comparar dois valores double ou dois float ? Simplesmente fazendo isso não está correto: bool CompareDoubles1 (double A, double B) { return A == B; } Mas algo como: bool CompareDoubles2 (double A, double B) { diff = A – B; return (diff < EPSILON) && (-diff < […]

O que são elisão de cópia e otimização de valor de retorno?

O que é cópia elision? O que é (nomeado) otimização de valor de retorno? O que eles implicam? Em que situações eles podem ocorrer? Quais são as limitações? Se você foi referenciado a essa pergunta, provavelmente está procurando pela introdução . Para uma visão geral técnica, consulte a referência padrão . Veja casos comuns aqui […]

Estratégias de otimização de desempenho de último recurso

Já existem muitas questões de desempenho neste site, mas me ocorre que quase todas são muito específicas do problema e bastante restritas. E quase todos repetem o conselho para evitar a otimização prematura. Vamos assumir: o código já está funcionando corretamente os algoritmos escolhidos já são ótimos para as circunstâncias do problema o código foi […]