Comparison logic vs `between?` vs `include?`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- ruby
- Ambito
- performance
Direzione di ricerca
Inizia con il benchmark mostrato nell’issue ed esamina le voci di confronto esistenti del repository per determinare dove collocare questo risultato. Conferma la modifica prevista con i maintainer, quindi assicurati che il confronto sia rappresentato in modo coerente e che i relativi risultati del benchmark siano riproducibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
#!/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
- Lingua principale
- Ruby
- Stelle
- 5.7k
- Fork
- 370
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fastruby/fast-ruby
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 32/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
Tutte le issue di fastruby/fast-ruby
Issue simili
-
SyncEm always forwards a dummy block, so wrapped methods lose their no-block/Enumerator behavior Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
bug P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
dependabot
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
githubnext/gh-aw-cao#13349 ·
-
user-reported
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Kong/developer.konghq.com#7316 ·