Articles of otimização de

Acelerar a inserção em massa usando o ORM do Django?

Estou planejando fazer o upload de um bilhão de registros de ~ 750 arquivos (cada ~ 250MB) para um database usando o ORM do django. Atualmente, cada arquivo leva ~ 20min para processar, e eu queria saber se há alguma maneira de acelerar esse processo. Tomei as seguintes medidas: Use @ transaction.commit_manually e confirme uma […]

Práticas recomendadas, dicas e truques de otimização de desempenho de canvas HTML5

VOCÊ SABE ALGUMAS MAIS MELHORES PRÁTICAS PARA A LONA? Por favor, adicione a este tópico o que você sabe, aprendeu ou leu on-line sobre todas as práticas recomendadas, dicas / truques para desempenho Com o Canvas ainda sendo muito novo na Internet, e nenhum sinal de que ele esteja envelhecendo que eu possa ver no […]

Práticas de Codificação que permitem ao compilador / otimizador fazer um programa mais rápido

Muitos anos atrás, os compiladores C não eram particularmente inteligentes. Como solução alternativa, a K & R inventou a palavra-chave register , para sugerir ao compilador, que talvez seja uma boa idéia manter essa variável em um registro interno. Eles também fizeram o operador terciário para ajudar a gerar um código melhor. Com o passar […]

Os JITers JavaScript modernos precisam de um cache de tamanho de array em loops?

Eu acho a prática de armazenar em cache uma propriedade de length de array dentro de um loop for bastante desagradável. Como em, for (var i = 0, l = myArray.length; i < l; ++i) { // … } Pelo menos aos meus olhos, isso prejudica muito a legibilidade em comparação com o simples for […]

Por que o memcmp é muito mais rápido que uma verificação de loop?

Por que o memcmp(a, b, size) é muito mais rápido que: for(i = 0; i < nelements; i++) { if a[i] != b[i] return 0; } return 1; É memcmp uma instrução da CPU ou algo assim? Deve ser bem profundo, porque eu tenho uma aceleração massiva usando memcmp no loop.

Qual é mais rápido: limpar a coleção ou instanciar novos

Eu tenho algumas listas genéricas no meu código, que possuem dezenas ou centenas de elementos. Às vezes, preciso preencher essas listas com outros objects, então a pergunta é: o que será mais rápido, chamar o método Clear() ou criar uma new List() ?

Desempenho inesperadamente pobre e estranhamente bimodal para o loop de loja na Intel Skylake

Estou vendo um desempenho inesperadamente fraco para um loop de loja simples que possui dois armazenamentos: um com um avanço de 16 bytes e outro sempre no mesmo local 1 , assim: volatile uint32_t value; void weirdo_cpp(size_t iters, uint32_t* output) { uint32_t x = value; uint32_t *rdx = output; volatile uint32_t *rsi = output; do […]

Como encontrar linhas em uma tabela que não possuem linha correspondente em outra tabela

Eu tenho um relacionamento 1: 1 entre duas tabelas. Eu quero encontrar todas as linhas na tabela A que não têm uma linha correspondente na tabela B. Eu uso essa consulta: SELECT id FROM tableA WHERE id NOT IN (SELECT id FROM tableB) ORDER BY id desc id é a chave primária em ambas as […]

Maneira mais eficiente de calcular a distância de Levenshtein

Acabei de implementar um algoritmo de pesquisa de arquivo de melhor correspondência para encontrar a correspondência mais próxima de uma string em um dictionary. Depois de fazer o perfil do meu código, descobri que a esmagadora maioria do tempo é gasta calculando a distância entre a consulta e os resultados possíveis. Atualmente, estou implementando o […]

Por que é iterar através de uma matriz para trás mais rápido do que para frente

Dado este código: var arr = []; for (var i = 0; i < 10000; ++i) arr.push(1); Para a frente for (var i = 0; i < arr.length; ++i) {} Para trás for (var i = arr.length – 1; i >= 0; –i) {} Encaminhado codificado for (var i = 0; i < 10000; ++i) […]