AI News HubLIVE
サイト内リライト1 分で読了

Show HN: AsyncFutures – 非同期/並行コード実行のためのRuby gem

AsyncFutures は、Ractors、Threads、Fibers 上でコードを実行するための統一 API を提供する Ruby gem です。共通の Future クラスを中心に構築されており、すべての並行プリミティブ間で同一の動作を実現します。作者は AI を使用せず、手作業で並行プログラミングを学ぶために開発しました。CRuby 4.0 で 100% の行カバレッジとブランチカバレッジを達成し、0BSD ライセンスで公開されています。

ソースHacker News AI著者: eestrada

AsyncFutures は、Ruby の並行プログラミングを簡素化するために新しく公開された gem です。Ruby には Ractor、Thread、Fiber といった複数の並行プリミティブがありますが、それぞれ API が異なり、一見似ているメソッド(例えば join)でも Ractor と Thread で動作が異なります。AsyncFutures は Executor クラスを通じてこの問題を解決し、すべてのプリミティブでほぼ同一の動作を提供し、統一された API を持つ Future オブジェクトを返します。

この gem の核心は Future クラスであり、Promise のようなインターフェースを提供し、チェーン操作やエラーハンドリングをサポートします。開発者は同じコードパターンを使って異なる並行モデルを切り替えられるため、パフォーマンス評価や最適なモデルの選択が容易になります。

作者は数ヶ月の余暇をかけてこの gem を開発し、AI を使わず(「vibe coding」ではなく)、実際にコードを書くことで並行プログラミングを正しく学んだと強調しています。コードは CRuby 4.0 で 100% の行カバレッジとブランチカバレッジを達成し、0BSD ライセンスで公開されているため、ほとんど制限なく利用できます。

作者はコミュニティによるコードレビュー、テスト、フィードバックを歓迎しています。