Articles of otimização de

Maneira mais rápida de remover todos os caracteres não imprimíveis de uma string Java

Qual é a maneira mais rápida de remover todos os caracteres não imprimíveis de uma String em Java? Até agora eu tentei e medi a corda de 131 caracteres e 131 caracteres: String replaceAll() – método mais lento 517009 resultados / seg Pré-compile um padrão e use replaceAll() do Matcher 637836 resultados / seg. Use […]

ResultSet: recuperando valores de coluna por índice versus recuperando por label

Ao usar o JDBC, muitas vezes me deparo com construções como ResultSet rs = ps.executeQuery(); while (rs.next()) { int id = rs.getInt(1); // Some other actions } Eu me perguntei (e os autores do código também) por que não usar labels para recuperar os valores das colunas: int id = rs.getInt(“CUSTOMER_ID”); A melhor explicação que […]

Quais methods podem ser usados ​​para estender eficientemente o comprimento da instrução no x86 moderno?

Imagine que você queira alinhar uma série de instruções de assembly x86 a determinados limites. Por exemplo, você pode querer alinhar loops a um limite de 16 ou 32 bytes, ou instruções de pacote para que eles sejam eficientemente colocados no cache do uop ou o que for. A maneira mais simples de conseguir isso […]

Por que o operador de shovel (<<) é preferível sobre plus-equals (+ =) ao construir uma string em Ruby?

Eu estou trabalhando com Ruby Koans. O test_the_shovel_operator_modifies_the_original_string Koan em about_strings.rb inclui o seguinte comentário: Programadores Ruby tendem a favorecer o operador de shovel (<<) sobre o operador mais igual (+ =) ao construir strings. Por quê? Meu palpite é que isso envolve velocidade, mas eu não entendo a ação sob o capô que faria […]

GCC C ++ O programa “Hello World” -> .exe é grande em 500kb quando compilado no Windows. Como posso reduzir seu tamanho?

Recentemente, comecei a aprender C ++ – estou usando a versão do MingW do Nuwen no Windows, usando o NetBeans como IDE (também tenho o MSDN AA Versão do MSVC 2008, embora não o use com muita frequência). Ao compilar este programa simples: #include using namespace std; int dog, cat, bird, fish; void f(int pet) […]

Django: Definir chave estrangeira usando inteiro?

Existe uma maneira de definir o relacionamento de chave estrangeira usando o ID inteiro de um modelo? Isso seria para fins de otimização. Por exemplo, suponha que eu tenha um modelo de funcionário: class Employee(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) type = models.ForeignKey(‘EmployeeType’) e EmployeeType(models.Model): type = models.CharField(max_length=100) Eu quero a flexibilidade de ter […]

Minimizar saída Html do aplicativo ASP.NET

Quais são as maneiras pelas quais podemos reduzir o tamanho da resposta HTML enviada por um aplicativo asp.net? Eu estou usando controles que não são de minha propriedade e produz saída com espaços em branco. Estou interessado em Minimizar toda a saída HTML da página da mesma forma que o Google faz (veja a fonte […]

Como calcular ou aproximar a mediana de uma lista sem armazenar a lista

Eu estou tentando calcular a mediana de um conjunto de valores, mas eu não quero armazenar todos os valores como isso poderia explodir os requisitos de memory. Existe uma maneira de calcular ou aproximar a mediana sem armazenar e classificar todos os valores individuais? Idealmente eu gostaria de escrever meu código um pouco como o […]

O que há de errado em usar associatividade por compiladores?

Às vezes a associatividade pode ser usada para perder dependencies de dados e fiquei curioso sobre o quanto isso pode ajudar. Fiquei bastante surpreso ao descobrir que quase posso obter um fator de aceleração de 4 desenrolando manualmente um loop trivial, tanto em Java (build 1.7.0_51-b13) quanto em C (gcc 4.4.3). Então, ou eu estou […]

Calcular base de registro rápida 2 teto

O que é uma maneira rápida de calcular o (long int) ceiling(log_2(i)) , onde a input e a saída são inteiros de 64 bits? Soluções para números inteiros assinados ou não assinados são aceitáveis. Eu suspeito que o melhor caminho seja um método um pouco semelhante aos encontrados aqui , mas ao invés de tentar […]