Ruby 文字列をインクリメントする「next」と「succ」のパフォーマンスを計測する

Rubyで、benchmarkを使用して、文字列をインクリメントする「next」と「succ」のパフォーマンスを計測するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。
環境
- OS windows10 pro 64bit
- ruby 2.7.2p137
パフォーマンス計測
benchmarkを使用して、文字列「”1″」をインクリメントする「next」と「succ」のパフォーマンスを計測するサンプルコードとなります。
require 'benchmark'
# 繰り返し回数 100万回
i = 1000000
# 10は、reportラベルに使用する桁数
Benchmark.bm 10 do |r|
r.report '#next' do
i.times do
"1".next
end
end
r.report '#succ' do
i.times do
"1".succ
end
end
end
実行結果
<1回目>
user system total real
#next 0.156000 0.000000 0.156000 ( 0.155877)
#succ 0.141000 0.000000 0.141000 ( 0.144279)
<2回目>
user system total real
#next 0.157000 0.000000 0.157000 ( 0.153338)
#succ 0.140000 0.000000 0.140000 ( 0.149284)
<3回目>
user system total real
#next 0.156000 0.000000 0.156000 ( 0.155613)
#succ 0.141000 0.000000 0.141000 ( 0.152313)
succのが少しだけパフォーマンスは良さそうです。
-
前の記事
javascript lodashを使って条件により配列をグループ化する 2021.09.17
-
次の記事
javascript lodashを使って配列に指定したデータが含まれているか判定する 2021.09.18
コメントを書く