ruby-trunk-changes r67273 - r67281

今日はブロックパラメーターを名前でなく番号を指定して @1, @2 などの記法で参照する Numbered parameters という新文法の追加などがありました。

k0kubun: r67273 2019-03-17 01:26:44 +0900

azure-pipelines.yml に pr: none という設定を追加して pull request に対するビルドを抑制するようにしています。

svn: r67274 2019-03-17 01:26:46 +0900

version.h の日付更新。

k0kubun: r67275 2019-03-17 01:53:55 +0900

azure-pipelines.yml で make test-bundled-gems が一時的にエラーになる状態(power_assert.gem の更新待ち?)なので、continueOnError: true を追加してエラーを許容するようにしています。

k0kubun: r67276 2019-03-17 13:13:13 +0900

appveyor.yml の JSON で Hash (JSON だから object か) の最後の要素の後にカンマがあったので削っています。

k0kubun: r67277 2019-03-17 14:13:38 +0900

MJIT の動作を指定するオプション --jit-max-cache と --jit-min-calls のデフォルト値を変更して、JIT コンパイルした状態を保持するメソッド数を減らし(1000 -> 100)、JIT 対象にするまでの呼び出し回数を引き上げています(5 -> 10000)。メモリ使用量の抑制と、特に後者はヘビーに呼ばれるメソッドだけ JIT コンパイル対象にしてあまり呼ばれないメソッドの JIT コンパイルを抑制してパフォーマンスへの影響を抑えるためだと思われます。これによりプロセス起動直後の高負荷がすこし解消されるのではないでしょうか。

nobu: r67278 2019-03-17 14:21:18 +0900

Numbered parameters という名前でブロックパラメーターに明示的に do |a, b| ... end のように名前が付けられてなくても @1, @2 という番号による参照ができる新機能が追加されています。配列は自動的に splat されて分解した各要素が参照されるようです。つまり `:x, :y.map{ @1 }` は [:x, :y] ではなくて [:x] を返します。 ここはちょっと注意ですね。 [ruby-core:91470] [Feature #4475]

k0kubun: r67279 2019-03-17 14:28:54 +0900

NEWS ファイルに r67277 での --jit-max-cache と --jit-min-calls のデフォルト値の変更について追記しています。

k0kubun: r67280 2019-03-17 14:32:53 +0900

azure-pipelines.yml の checkout 時のオプション fetchDepth を 1 から 10 に増やしています。 depth が 1 だとたまに checkout がエラーになるため。エラーメッセージみた感じだと commit が連続してたりして checkout しようとした commit hash よりも trunk が進んでたりすると depth が 1 だと狙った commit が参照できないとかそういうことみたいですね。

k0kubun: r67281 2019-03-17 15:20:01 +0900

.travis.yml に環境変数 DISABLE_CACHE の定義を追加して、この環境変数が新だったらビルド前に .downloaded-cache および config_2nd を削除しておくようにしています。よくわからないけどこのへんのファイルで権限エラーになることがあるみたいです。