Comparison logic vs `between?` vs `include?`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- ruby
- Área
- performance
Línea de trabajo
Comienza con el benchmark mostrado en el issue e inspecciona las entradas de comparación existentes del repositorio para determinar dónde corresponde este resultado. Confirma el cambio previsto con los maintainers y, a continuación, asegúrate de que la comparación esté representada de forma coherente y de que sus resultados del benchmark sean reproducibles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
#!/usr/local/bin/ruby
require 'benchmark/ips'
Benchmark.ips do |x|
value = 42
x.report('>= && <=') { value >= 1000 && value <= 2000 }
x.report('include?') { (1000..2000).include?(value) }
x.report('between?') { value.between?(1000, 2000) }
x.compare!
end
$ ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin19]
$ ruby bench.rb
Warming up --------------------------------------
>= && <= 2.351M i/100ms
include? 1.139M i/100ms
between? 1.244M i/100ms
Calculating -------------------------------------
>= && <= 23.476M (± 1.3%) i/s - 117.558M in 5.008408s
include? 11.117M (± 8.2%) i/s - 55.807M in 5.057945s
between? 11.021M (± 6.8%) i/s - 55.959M in 5.102033s
Comparison:
>= && <=: 23475928.0 i/s
include?: 11117073.1 i/s - 2.11x slower
between?: 11020978.6 i/s - 2.13x slower
- Lenguaje dominante
- Ruby
- Estrellas
- 5.7k
- Forks
- 370
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fastruby/fast-ruby
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Todos los issues de fastruby/fast-ruby
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
simp/pupmod-simp-simp#395 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
simp/pupmod-simp-rsyslog#219 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
simp/pupmod-simp-pupmod#256 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
simp/pupmod-simp-sudo#150 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100