Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 36296ef

Browse files
Fixes the 'planets align' condition of select.last vs reverse.detect (#233)
* Update select.last example * Fixes world aligns condition
1 parent be7e578 commit 36296ef

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

‎README.md‎

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -655,18 +655,22 @@ Enumerable#select.first: 89757.4 i/s - 4.84x slower
655655

656656
```
657657
$ ruby -v code/enumerable/select-last-vs-reverse-detect.rb
658-
ruby 2.2.0p0 (2014年12月25日 revision 49005) [x86_64-darwin14]
659-
658+
ruby 3.4.2 (2025年02月15日 revision d2930f8e7a) +PRISM [arm64-darwin23]
659+
ruby 3.4.2 (2025年02月15日 revision d2930f8e7a) +PRISM [arm64-darwin23]
660+
Warming up --------------------------------------
661+
Enumerable#reverse.detect
662+
8.821k i/100ms
663+
Enumerable#select.last
664+
385.000 i/100ms
660665
Calculating -------------------------------------
661-
Enumerable#reverse.detect 62.636k i/100ms
662-
Enumerable#select.last 11.687k i/100ms
663-
-------------------------------------------------
664-
Enumerable#reverse.detect 1.263M (± 8.2%) i/s - 6.326M
665-
Enumerable#select.last 119.387k (± 5.7%) i/s - 596.037k
666+
Enumerable#reverse.detect
667+
96.317k (± 6.8%) i/s (10.38 μs/i) - 485.155k in 5.060103s
668+
Enumerable#select.last
669+
3.839k (± 1.2%) i/s (260.49 μs/i) - 19.250k in 5.015198s
666670
667671
Comparison:
668-
Enumerable#reverse.detect: 1263100.2 i/s
669-
Enumerable#select.last: 119386.8 i/s - 10.58x slower
672+
Enumerable#reverse.detect: 96316.5 i/s
673+
Enumerable#select.last: 3838.9 i/s - 25.09x slower
670674
```
671675

672676
##### `Enumerable#sort` vs `Enumerable#sort_by` [code](code/enumerable/sort-vs-sort_by.rb)

‎code/enumerable/select-last-vs-reverse-detect.rb‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
require 'benchmark/ips'
22

3-
ARRAY = [*1..100]
3+
ARRAY = [*1..7777]
44

55
def fast
6-
ARRAY.reverse.detect { |x| (x % 10).zero? }
6+
ARRAY.reverse.detect { |x| (x % 5).zero? }
77
end
88

99
def slow
10-
ARRAY.select { |x| (x % 10).zero? }.last
10+
ARRAY.select { |x| (x % 5).zero? }.last
1111
end
1212

1313
Benchmark.ips do |x|

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /