Articles of otimização de

para otimização de loop

List flowers = new ArrayList(); Meu loop for atualmente parece com isso … for (int i = 0; i < flowers.size(); i++) { … } OU devo mudar isso para parecer com o código abaixo int size = flowers.size(); for (int i = 0; i < size; i++) { … } Qual é o desempenho […]

Detectar se a guia do navegador tiver foco

Existe um modo confiável de navegação cruzada para detectar que uma guia tem foco. O cenário é que temos um aplicativo que pesquisa regularmente os preços das ações e, se a página não tiver foco, poderíamos parar a votação e salvar a todos o ruído do tráfego, especialmente porque as pessoas são fãs de abrir […]

JavaScript não intrusivo: na parte superior ou inferior do código HTML?

Eu li recentemente o manifesto do Yahoo Best Practices para acelerar o seu site . Eles recomendam colocar a inclusão JavaScript na parte inferior do código HTML quando podemos. Mas onde exatamente e quando? Devemos colocá-lo antes de fechar ou depois? E acima de tudo, quando devemos ainda colocá-lo na seção ?

Onde encontro uma implementação de mapa baseada em Trie padrão em Java?

Eu tenho um programa em Java que armazena muitos mapeamentos de Strings para vários objects. Agora, minhas opções são confiar em hashing (via HashMap) ou em buscas binárias (via TreeMap). Eu estou querendo saber se há uma implementação de mapa eficiente e padrão baseado em trie em uma biblioteca de collections popular e de qualidade? […]

Os compiladores podem eliminar loops infinitos?

Pode otimizar o compilador excluir loops infinitos, que não altera nenhum dado, como while(1) /* noop */; Da análise de um compilador de gráfico de stream de dados pode derivar, que esse loop é “código morto” sem efeitos colaterais. A exclusão de loops infinitos é proibida pelos padrões C90 / C99? Os padrões C90 ou […]

Constantes e otimização do compilador em C ++

Eu li todos os conselhos sobre const-correcção em C ++ e que é importante (em parte), porque ajuda o compilador para otimizar seu código. O que eu nunca vi é uma boa explicação de como o compilador usa essa informação para otimizar o código, nem mesmo os bons livros continuam explicando o que acontece atrás […]

É melhor usar std :: memcpy () ou std :: copy () em termos de desempenho?

É melhor usar o memcpy como mostrado abaixo ou é melhor usar o std::copy() em termos de desempenho? Por quê? char *bits = NULL; … bits = new (std::nothrow) char[((int *) copyMe->bits)[0]]; if (bits == NULL) { cout <bits, ((int *) copyMe->bits)[0]);

Os loops são realmente mais rápidos ao contrário?

Eu já ouvi isso algumas vezes. Os loops JavaScript são realmente mais rápidos ao contar para trás? Se sim, porque? Eu vi alguns exemplos de suíte de teste mostrando que os loops invertidos são mais rápidos, mas não consigo encontrar nenhuma explicação do porquê! Estou assumindo que é porque o loop não precisa mais avaliar […]

O Haskell tem otimização recursiva de cauda?

Eu descobri o comando “time” no unix hoje e pensei em usá-lo para verificar a diferença nos tempos de execução entre funções recursivas e recursivas normais em Haskell. Eu escrevi as seguintes funções: –tail recursive fac :: (Integral a) => a -> a fac x = fac’ x 1 where fac’ 1 y = y […]

Java Integer compareTo () – por que usar comparação versus subtração?

Eu descobri que a implementação java.lang.Integer do método compareTo é a seguinte: public int compareTo(Integer anotherInteger) { int thisVal = this.value; int anotherVal = anotherInteger.value; return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1)); } A questão é por que usar comparação em vez de subtração: return thisVal – anotherVal;