Resultados da pesquisa a pedido "micro-optimization"
Empacotando dois DWORDs em um QWORD para economizar largura de banda da loja
Imagine um loop de armazenamento de carga como o seguinte, que carregaDWORDs de locais não contíguos e os armazena de forma contígua: top: mov eax, DWORD [rsi] mov DWORD [rdi], eax mov eax, DWORD [rdx] mov DWORD [rdi + 4], eax ; unroll the above ...
Ter funções locais não é uma micro otimização?
Mover a função interna para fora desta para que não seja criada toda vez que a função é chamada seria uma micro-otimização? Nesse caso em particular, odoMoreStuff função é usada apenas dentrodoStuff. Devo me preocupar em ter funções locais como ...
O zeramento de vxorps no AMD Jaguar / Bulldozer / Zen é mais rápido com registros xmm que ymm?
As CPUs AMD lidam com instruções AVX 256b decodificando em duas operações 128b. por exemplo.vaddps ymm0, ymm1,ymm1 no AMD Steamroller decodifica para 2 macro-ops, com metade da taxa de transferência devaddps xmm0, xmm1,xmm1. O zeramento de XOR é ...
Como mover 3 bytes (24 bits) da memória para um registro?
Posso mover itens de dados armazenados na memória para um registro de uso geral de minha escolha, usando oMOV instrução. MOV r8, [m8] MOV r16, [m16] MOV r32, [m32] MOV r64, [m64]Agora, não atire em mim, mas como é alcançado o seguinte:MOV r24, ...
Existe uma sobrecarga de desempenho para uma classe interna privada em Java?
Quando eu tenho classes internas com métodos ou campos privados, o compilador precisa criar métodos acessadores sintéticos protegidos por pacote para permitir que a classe externa acesse esses elementos privados (e vice-versa). Para evitar isso, ...
Carregando um xmm dos registros do GP
Digamos que você tenha valores emrax erdx você deseja carregar em umxmm registo. Uma maneira seria: movq xmm0, rax pinsrq xmm0, rdx, 1É bem lento! Existe uma maneira melhor?
Micro otimização DateTime.DayOfWeek
Em primeiro lugar: Estou fazendo essa pergunta apenas por diversão e vontade de aprender. Devo admitir que adoro mexer com as micro-otimizações (embora elas nunca tenham levado a um aumento significativo da velocidade em nenhum dos ...
Quanta instância de memória da minha classe usa - resposta pragmática
Qual é o tamanho da instância da classe a seguir depois que o construtor é chamado? Eu acho que isso pode ser escrito geralmente como tamanho = nx + c, onde x = 4 em x86 ex = 8 em x64. n =? c =?Existe algum método no .NET que pode retornar esse ...
Quando, se alguma vez, o desenrolamento de loop ainda é útil?
Eu tenho tentado otimizar algum código extremamente crítico de desempenho (um algoritmo de classificação rápida que é chamado milhões e milhões de vezes dentro de uma simulação de monte carlo), desenrolando o loop. Aqui está o loop interno que ...
'…! = Null' ou 'null! =…' Melhor desempenho?
Eu escrevi dois métodos para verificar o desempenho public class Test1 { private String value; public void notNull(){ if( value != null) { //do something } } public void nullNot(){ if( null != value) { //do something } } }e checou o código de ...