Trilha Júnior Trilha

Símbolos Ruby: chaves

O curso mede a diferença de velocidade entre símbolos e strings em Ruby e explica de onde ela vem. Com o módulo padrão Benchmark, ele mede a igualdade entre símbolos e entre strings e depois a busca em hashes com chaves de cada tipo. Uma classe que registra chamadas mostra como o Hash usa #hash e #eql? para achar uma chave. Depois o curso mostra que a maior parte da diferença vem de literais de string alocando objetos novos, apresenta Hash#compare_by_identity e monta contagens com chaves símbolo e Hash.new(0).

O que você vai aprender

  • ✓Medir tempo de código com Benchmark.bm e ler as colunas user, system, total e real
  • ✓Comparar a velocidade de símbolos e strings na igualdade e na busca em hash
  • ✓Como o Hash usa #hash para escolher um bucket e #eql? para confirmar a chave
  • ✓Por que a alocação de literais de string explica a maior parte da diferença e o efeito dos literais congelados
  • ✓Usar Hash#compare_by_identity para comparar chaves pela identidade do objeto
  • ✓Contar ocorrências num hash com chaves símbolo usando Hash.new(0)
Prévia grátis · Aula 1 3 min de leitura

Isso não é mais folclore

O curso do nível intern Símbolos vs strings já fez um trabalho de verdade aqui. A aula "Eficiência de memória e velocidade de comparação" explicou que símbolos são internados. :admin escrito em qualquer ponto de um programa é sempre o mesmo objeto, enquanto "admin" escrito duas vezes normalmente…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...