ruby-trunk-changes 2021-12-30

今日は macOS で大量のオブジェクトを確保するのが遅いというのでヒープサイズを大きくする変更や、標準添付ライブラリ reline の更新などがありました。

[239e71c0af] Hiroshi SHIBATA 2021-12-29 10:29:30 UTC

標準添付ライブラリ reline のテストで skip のかわりに omit を利用するように修正しています。

[002fa28599] Nobuyoshi Nakada 2021-12-29 07:15:36 UTC

大きな文字列の String#lines が macOS で遅くなっている、という現象があるらしくて、HEAP_PAGE_ALIGN_LOG という ObjectSpace のヒープを確保する時のバッファサイズを指定する定数を 16 に増やす(16KiB → 64KiB に増やす)ようにしています。 macOS では mmap(2) が遅いので、呼び出し回数を減らすためとのこと。mmap(2) って遅いのか……。 [ruby-core:106883] [Bug #18447]

[52525b527b] Peter Zhu 2021-12-29 21:17:28 UTC

GC.stat の rdoc 用コメントに戻り値の Hash の :time, :compact_count, :read_barrier_faults, :total_moved_objects などのキーについての説明を追記しています。 [ruby-core:106908] [Bug #18451]

[7304e357a8] git 2021-12-29 21:21:05 UTC

version.h の日付更新

[1954a95f8b] David Rodríguez 2021-12-29 19:53:26 UTC

bundler のテストでファイルパスを連結するのに String#join を使ってたのを File.join を利用するように修正しています。

[a90d188b57] Nobuyoshi Nakada 2021-12-30 04:52:22 UTC

include/ruby/internal/intern/error.h から削除済みの関数 rb_error_untrusted() と rb_check_trusted() の prototype 宣言を削除しています。

[8727161fcf] Nobuyoshi Nakada 2021-12-30 09:52:04 UTC

include/ruby/backward.h で古い C API で警告つきで残されてていた RBIMPL_ATTR_DEPRECATED_SINCE() つきで宣言されていた関数群をまとめて削除しています。

[f589242e75] ima1zumi 2021-12-30 02:16:15 UTC

標準添付ライブラリ reline の emacs mode での Ctrl-u のキーバインディングで実行するコマンドを ed_kill_line から unix_line_discard に変更しています。 vi_kill_line_prev の alias ですね。

[9295732af8] aycabta 2021-12-27 14:14:03 UTC

標準添付ライブラリ reline の yamatanooroti.gem を使ったテストで Ripper.lex を呼び出してたところをヘルパーメソッド ripper_lex_without_warning を利用するようにしています。名前からして警告抑制のためみたいですね。

[2a311594cc] aycabta 2021-12-30 11:47:46 UTC

標準添付ライブラリ reline の複数行表示時の折り返しのテストを 2.6 以前では skip するようにしています。

[31c69d66d2] YO4 2021-12-27 10:17:33 UTC

標準添付ライブラリ reline の Reline::Windows.scroll_down で端末の情報を GetConsoleScreenBufferInfo() API で取得したものを String#unpack でデコードする時の順序が間違っていたのを修正しています。