Merge pull request #58466 from Shopify/hm-kuskqntvpkpktmuq
Restore performance for dynamic attribute read
Restore performance for dynamic attribute read
Following up the [previous commit][1] that removed the pattern cache. See that commit for benchmark. ``` ruby 4.0.3 (2026-04-21 revision 85
Remove attribute_method_patterns_cache
…-mountain Add Pacific Time (Canada) and Alberta Time zone mappings
We don't need to fully resolve and clone FrameState all the time; often we just need a non-operand field such as iseq or insn_idx. For that,
私はARC227をもちまして、入青を達成しました!!! やったアルゴリズム、テクニック 思っていたより、数学系が少ないですね... ・セグ木に変なの載せる ・遅延セグ木に変なの載せる ・クエリ先読み、イベントソート ・オイラーツアー ・ならし計算量を使うやつ ...
Drop HIR build time from ~220ms to ~170ms. Before: plum% for i in $(seq 0 5); do WARMUP_ITRS=0 MIN_BENCH_ITRS=2 MIN_BENCH_TIME=0 ruby
These are all shareable objects, and `gc_mark` still traverses non-foreign shareables. For local GC, pinned_roots_mark will keep these objec
The Ruby Programming Language. Contribute to ruby/ruby development by creating an account on GitHub.
Constraining which demuxers and decoders ffmpeg and ffprobe will use is a hardening measure for the media-processing attack surface, and Act
This cache is designed to cache the extraction of attributes from method names so that "dynamic" respond_to? can be made much fast
…apshot_protocol Introduce `to_ractor_snapshot` / `load_ractor_snapshot` protocol for notifiers
…rence Fix where clauses with column-tuple syntax referencing other tables
Match the short place-name style used by neighboring entries (Hawaii, Alaska, Arizona, Saskatchewan, Mazatlan).
…notifiers Since #58060, `Notifications.record_subscriptions` reached into `Fanout`'s `string_subscribers` / `other_subscribers`, so cu
…he other If a GC gets upgraded to a global GC, re-check if it needs to run a global after it takes the VM lock. If the process doesn't
…emplates Compile non-strict templates Ractor-locally
Co-authored-by: Michael Jackson <mjijackson@gmail.com>
The Ruby Programming Language. Contribute to ruby/ruby development by creating an account on GitHub.
Move duplicated conditional_executor up to Rails::Command::Base
When `normalizes` wraps a type that rejects invalid input (e.g. an Active Record `enum`), `assert_valid_value` ran against the raw, un-norma
gc_start_global's compacting branch runs move -> update-references -> free as three passes and never recorded GC_COMPACT_WALL_TIME
こちらの記事は「MEDLEY Summer Tech Blog Relay」の21日目の記事です。 結論 先に結論を置いておきます。 Mongoid(8.1.10 で確認)の has_many に並び順を持たせるなら、order: ではなく scope: に書いてく...
Show bin/console startup banner based on IRB
Ruby on Rails. Contribute to rails/rails development by creating an account on GitHub.
Two threads waiting on one fd -- a reader and a writer on the same socket is the ordinary shape -- made the second one see a lie. timer_thr
Cover what an fd with more than one waiter has to do: the second waiter must not be told the fd is ready, a read behind another waiter must
timer_thread_register_waiting() asks the kernel whether the fd is ready before registering it, so that an already-ready fd costs one poll(2)
Just makes things slower for not reason. Fix: https://github.com/rails/rails/pull/57352#issuecomment-5260608367
Build Better Websites. Create modern, resilient user experiences with web fundamentals. - Stabilize HMR tests and limit Windows test concurr
はじめに ナレッジワークのQAエンジニアのtettanです。ナレッジワークでは、マネージャーではなく、いちQAエンジニアという立場で、プロダクトのQA業務や品質施策の横断的な活動を行っています。 2026年8月5日に開催された「QA Test Talk Vol.8」で、「ナレッジ
The Ruby Programming Language. Contribute to ruby/ruby development by creating an account on GitHub.
Bumps the github-actions group with 2 updates in the / directory: [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-ac
Grok Bot は、役割を持ったエージェントを置いて作業を任せられるデスクトップアプリです。私は早期アクセス(初期のコードネームは「Sand」)参加のため、リリース前にいろいろ触ることができました。 前回は、Grok Bot がどんなアプリなのか、という入口の話を書きま...
「Grok Bot」の早期アクセスプログラムに参加して、一般公開前から触ってきました。初期はコードネーム「Sand」と呼ばれていて、リリース時の製品名が「Grok Bot」になりました。ネット上の情報はまだないでしょうから、実際に触って分かったことをシリーズで書いていきま...
(https://github.com/ruby/strscan/pull/216) Undocumented `::ScanError` and `::Id`. `StringScanner::ScanError` should be used instead of the
`st_insert` to `r->sync.ports` under the ractor lock can rebuild the table and the allocation for the rebuilding can run GC, which acquir
Ractor#join waits on a monitor port, and the exit token was sent from ractor_notify_exit as the Ractor's block ends. Ractor#value then
Construct And nodes as Nary instead of Binary
Using reduce will create trees like: ``` And And And Query Query Query ``` Whereas this commit creates them like ``` An
はじめに ! 修正や追加等はコメントまたはGitHubで編集リクエストをお待ちしております。 ダイニーで一番若いエンジニアのriya amemiya(21歳)です。 これまで Array.prototype.flat を2回にわたって高速化してきましたが、今回は Array.p