📑

[Feature #8707] `Hash#reverse_each` を独自に定義する提案

2024/07/29に公開

[Feature #8707] Hash#reverse_each

  • Hash#reverse_each を独自に定義する提案
    • いまは {}.reverse_each を呼び出すと Enumerable#reverse_each が呼ばれる
  • 理由としてはパフォーマンスを向上させるため
  • 現状の実装を対応後の実装のベンチマークは以下の通り
    • 10年前の実装ではあるので注意
trunk(r42256):
Rehearsal -----------------------------------------------------
Hash#reverse_each   1.210000   0.000000   1.210000 (  1.207964)
-------------------------------------------- total: 1.210000sec

                        user     system      total        real
Hash#reverse_each   0.950000   0.000000   0.950000 (  0.951069)

proposal: 
Rehearsal -----------------------------------------------------
Hash#reverse_each   0.600000   0.000000   0.600000 (  0.600242)
-------------------------------------------- total: 0.600000sec

                        user     system      total        real
Hash#reverse_each   0.450000   0.000000   0.450000 (  0.459006)
  • 10年前のチケットで当時はユースケースが不透明で議論が止まっている
GitHubで編集を提案

Discussion