2025-03-17 Rubyでスレッド時分割単位時間を環境変数で制御できるようになった
Issueはこれ:
今までは下記のようにハードコードされていた。
/* 100ms. 10ms is too small for user level thread scheduling
* on recent Linux (tested on 2.6.35)
*/
#define TIME_QUANTUM_MSEC (100)
#define TIME_QUANTUM_USEC (TIME_QUANTUM_MSEC * 1000)
#define TIME_QUANTUM_NSEC (TIME_QUANTUM_USEC * 1000)
この変更以降は、 RUBY_THREAD_DEFAULT_QUANTUM_MS
で設定できるようになる。
小さいタスクをマルチスレッドでたくさん実行するケースにおいて、嬉しい変更だ。