並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 25 件 / 25件

新着順 人気順

ractorの検索結果1 - 25 件 / 25件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

ractorに関するエントリは25件あります。 rubyRubyRactor などが関連タグです。 人気エントリには 『`Ractor::Port` ― Ractor の API を一新した話 - STORES Product Blog』などがあります。
  • `Ractor::Port` ― Ractor の API を一新した話 - STORES Product Blog

    テクノロジー部門技術推進本部の笹田です。最近、ある大学で Ruby インタプリタを作ってみよう、みたいな集中講義をさせていただいてるんですが、実装に使う言語がみんな Ruby じゃなくて面白かったです。 本稿では、Ruby で並列処理を手軽に実現するための機構 Ractor の API について、以前から気になっていた部分を最近になって一新し、Ractor::Port というものを導入したので、その内容をご紹介します。従来の API にはどうもしっくりこず、ずっと喉に骨がつっかえている感じがして、5年くらいずっと考えていたんですが、ようやっと決断しました。 提案した ticket: Feature #21262: Proposal: Ractor::Port - Ruby - Ruby Issue Tracking System 概要だけ説明しますと、次のような感じです。 なくなった Ra

      `Ractor::Port` ― Ractor の API を一新した話 - STORES Product Blog
    • Ruby3.0でRactorを入れた理由、M:Nスレッドの制限。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.2 - STORES Product Blog

      2022年10月5日に『深掘りRubyKaigi 2022 with ko1 & kateinoigakukun~ RubyKaigiどうでした&RubyのWASI/並列どうなるの? ~』を開催しました。イベントでお話した内容を3部作でお届けします。こちらはvol.2です。 ko1の発表「Making *MaNy* threads on Ruby」をざっくり fujimura:では、笹田さんのパートに移ろうと思います。笹田さん、どうぞよろしくお願いいたします。 ko1:よろしくお願いします。 fujimura:最初にRubyKaigiのトーク内容のざっくりまとめと、感想及びその後の反響をお願いします。 ko1:ざっくりしたまとめで言うと、RubyにM:Nスレッドを入れたいという話を発表しました。M:Nスレッドとは何かというと、ユーザーレベルスレッドライブラリと、カーネルスレッドのよさをハイ

        Ruby3.0でRactorを入れた理由、M:Nスレッドの制限。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.2 - STORES Product Blog
      • Learn Ractor

        RubyKaigi 2023 Day2

          Learn Ractor
        • RubyKaigi 2024 - Ractor Enhancements, 2024 (Day1) - Techouse Developers Blog

          こんにちは、株式会社Techouse バックエンドエンジニアの @nodematerial です。 今回は、RubyKaigi 2024 1日目のセッション「Ractor Enhancements, 2024」を聴講したので、その内容をブログにまとめさせていただきます。 Ractor とは Ractor は Ruby 3.0 で導入された並列(parallel)プログラミングを行うための機能です。Actor モデル*1をベースに設計されており、並行処理の干渉を防ぐために、オブジェクト空間を複数の単位に「だいたい」分割することで、スレッドセーフに並列処理を行うことができます。 同時に、この並行処理に用いる分割単位のことも、Ractor と呼ばれています。*2 複数 Ractor を実行する際には、Ruby 基本機能の一部が制限されます。 例えば、Ractor 間で共有できるオブジェクトは、i

            RubyKaigi 2024 - Ractor Enhancements, 2024 (Day1) - Techouse Developers Blog
          • 週刊Railsウォッチ: SorbetのRuby AOTコンパイラが公開、「Compiler Explorer」にRubyが追加、Ractorで非同期通信ほか(20210823後編)|TechRacho by BPS株式会社

            週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 SorbetのRuby AOTコンパイラ(Ruby Weeklyより) 元記事: Sorbet Compiler: An experime

              週刊Railsウォッチ: SorbetのRuby AOTコンパイラが公開、「Compiler Explorer」にRubyが追加、Ractorで非同期通信ほか(20210823後編)|TechRacho by BPS株式会社
            • Ruby 3: FiberやRactorでHTTPサーバーを手作りする(翻訳)|TechRacho by BPS株式会社

              概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: HTTP server in Ruby 3 - Fibers & Ractors 原文公開日: 2021/07/25 原著者: Dmitry Ishkov FiberとRactorについては以下もどうぞ。 class Fiber (Ruby 3.0.0 リファレンスマニュアル) Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ 動機 Rubyは歴史的にコンカレンシーを欠いていましたが、現在のRubyには「ネイティブ」スレッドがあります(Ruby 1.9より前は「グリーンスレッド」 のみでした)。ネイティブスレッドは、OS によって制御されるスレッドが複数存在することを意味しますが、一度に実行できるスレッドは 1 つだけで、GIL(Global Interpreter Lock)によって管理されます。た

                Ruby 3: FiberやRactorでHTTPサーバーを手作りする(翻訳)|TechRacho by BPS株式会社
              • GitHub - slawlor/ractor: Rust actor framework

                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                  GitHub - slawlor/ractor: Rust actor framework
                • RactorベースのWebサーバーを書く(2025年版)

                  Ruby の並行処理 Ractor は 2025 年 7 月現在どのくらいよくありそうな Ruby プログラミングで書けそうになっているかを測るため、Ractor を使った簡潔な Web Server を作り、その次に Rack に対応させてみる。 後述する Ractor の新しい API、Ractor::Port を使うために、Ruby は開発版を使っている。Ruby 3.5 には入る予定のようなので Ruby 3.5 以降であれば開発版でなくても動くはずだ。 2020 年の 9 月に書かれたWriting a Ractor-based web server、その続編として 2020 年の 12 月に書かれたWriting a Ractor-based web server: part IIが、整理されていて読みやすかったので、今回の記事の話の進め方もこれを真似している。 Web サーバ

                    RactorベースのWebサーバーを書く(2025年版)
                  • Ractorを用いたproperty based testingの並列実行についてRubyKaigi 2024で発表しました - valid,invalid

                    表題の通りRactorを用いたproperty based testingの並列実行についてRubyKaigi 2024で発表してきました。かつスピーカーとしての参加は初めてで、いろいろ稀有な体験ができて総合的にはめちゃくちゃ楽しかった。 発表内容について "Unlocking Potential of Property Based Testing with Ractor"という題で、property based testing(以下PBT)において発生する小さくて大量のタスクをRactorで並列実行させるというアイデアと仮説検証の結果を報告しました。 日本語のテキストで概要を知りたい方はTechouse社の記事をご参照ください。登壇者の自分が発信したどのテキストよりも丁寧にわかりやすくまとめてくださってます。この場を借りて感謝いたします! developers.techouse.com

                      Ractorを用いたproperty based testingの並列実行についてRubyKaigi 2024で発表しました - valid,invalid
                    • RubyのRactorとは一体何なのか(翻訳)|TechRacho by BPS株式会社

                      概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: What’s The Deal With Ractors? | byroot’s blog 原文公開日: 2025/02/27 原著者: byroot -- Railsコアコミッター、Rubyコミッターであり、ShopifyのRuby/Railsインフラチームのシニアスタッフエンジニアです 日本語タイトルは内容に即したものにしました。 私がやりたいのは、Pitchforkに関する記事を書いて、これがどんな理由でできたのか、なぜ現在のような形になったのか、そして今後どうなるのかについて説明することです。しかしその前に解説しておく必要があることがいくつかあります。今回はRactorについてです。 4、5年前にRactorが発表されたとき、多くの人が、スレッドの代わりにRactorを使う、Puma的なRactorベースのWebサーバーが

                        RubyのRactorとは一体何なのか(翻訳)|TechRacho by BPS株式会社
                      • Unlocking Potential of Property Based Testing with Ractor

                        RubyKaigi 2024 - Event page: https://rubykaigi.org/2024/presentations/ohbarye.html - Ruby gem: https://github.com/ohbarye/pbt

                          Unlocking Potential of Property Based Testing with Ractor
                        • Ruby: はじめてRactorを触ってみた学習メモ(翻訳)|TechRacho by BPS株式会社

                          概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Ractor - getting started | Arkency Blog 原文公開日: 2025/03/04 原著者: Mirosław Pragłowski 参考: アクターモデル - Wikipedia 本記事は私の学習メモです。Ractorを使うと以下の警告が英文で表示されることをお忘れなく。 警告: Ractorは実験的機能であり、今後のRubyバージョンで変更される可能性があります。また、実装上の問題も多数あります。 警告を終えたので、それでは始めましょう。 🔗 アクターを作成する シンプルなRactorは以下のように作れます。 simple = Ractor.new do # 何かする end アクターのイニシャライザを使うと、作成されるアクターに引数を渡せるようになります。このときにアクターの名前も設定でき

                            Ruby: はじめてRactorを触ってみた学習メモ(翻訳)|TechRacho by BPS株式会社
                          • Ractorの中からnet/httpsでHTTPSリクエストを送る

                            Ractor (non-main Ractor) からHTTPSリクエストを送る例。Faradayのような便利なライブラリは内部でクラスインスタンス変数 @@nanika を多用している都合、コードの変更なしではRactorの中から使うことができない(Faradayに限らず、世の中のgemのかなりの部分がこの制約で阻まれる)。net/http (net/https) ならぎりぎり Ractor.make_shareable で対応できる。 require 'openssl' require 'net/https' # net/http が使う定数を事前に deep freeze しておく Ractor.make_shareable OpenSSL::SSL::SSLContext::DEFAULT_PARAMS Ractor.make_shareable Net::HTTP::SSL_IV

                            • “Ractor” reconsidered

                              “Ractor” reconsidered Koichi Sasada <ko1@cookpad.com> or 2nd progress report of MaNy projects RubyKaigi 2023 About this talk • “Ractor” is not used maybe because … • Programming model • Memory model (object sharing model) • Actor like API • Eco-system • Implementation • Code quality • Performance • Performance improvements • New “Selector” API • Ractors on M:N Scheduler (MaNy project) • Ractor loc

                              • RubyKaigi 2024 - Unlocking Potential of Property Based testing with Ractor (Day1) - Techouse Developers Blog

                                Unlocking Potential of Property Based Testing with Ractor こんにちは、2024年に新卒で入社し、クラウドハウス採用でバックエンドエンジニアをしているrei_fujiseです。 本記事ではRubyKaigi 2024の1日目のMasato Ohba(@ohbarye)さんによるセッション Unlocking Potential of Property Based Testing with Ractor について紹介させていただきます。 セッションで使用されていたスライドはこちらに公開されています。また、デモに使用されたソースコードはこちらに公開されています。 このセッションでは「Property based testing が Ractor の良いユースケースとなる」という仮説の検証をしたことについて、Property based t

                                  RubyKaigi 2024 - Unlocking Potential of Property Based testing with Ractor (Day1) - Techouse Developers Blog
                                • RubyKaigi 2023 RactorとThread、Ractor local GCについて - OPTiM TECH BLOG

                                  はじめまして、Optimal Biz開発チームの片岡です。 私は業務では主にRubyを使ってWebアプリケーションの開発をしています。 5/11~13に開催されたRubyKaigi 2023 に参加してきました。 私は今回、Ractorに注目して参加していたため、Koichi Sasadaさんの講演 "Ractor" reconsidered を紹介します。 RactorとThread 講演の紹介の前に、RactorとThreadについて確認します。 Threadとは Rubyでは、並行・並列処理を行う仕組みとしてRactor/Thread/Fiber/Processをサポートしています。 例としてThreadを確認します。 Threadは、ネイティブスレッド(カーネルスレッド)を用いて、同時実行を行います。 Ruby 3.2 リファレンスマニュアル Thread ネイティブスレッドを用い

                                    RubyKaigi 2023 RactorとThread、Ractor local GCについて - OPTiM TECH BLOG
                                  • RubyのRactorを解き放つ(3)汎用インスタンス変数テーブルの競合を解消する(翻訳)|TechRacho by BPS株式会社

                                    見た感じ完璧そうです。すべてがオブジェクトスロットに埋め込まれるので、メモリ使用量もアクセス時間も最小限に抑えられそうなものです。 残念ながら、もう少し考えてみた結果、ここには重大な問題が1つ潜んでいることに気づきました。すなわち複雑なシェイプ(shape)です。 複雑なシェイプとは何かについては過去記事にも長々と書きましたが、手短に言うと、シェイプはRuby VM内でガベージコレクションされないのです。 つまり、さまざまなシェイプを大量に生産するコードがあると、Rubyはオブジェクトの最適化を解除して、オブジェクトのインスタンス変数をハッシュテーブルに保存するようになります。プログラムが可能なあらゆるシェイプスロットを利用する場合も同様です。 したがって、Structのメンバーがシェイプにエンコードされる事態が生じると、複雑な構造体を扱うために大量のフォールバック用コードパスが必要になり

                                      RubyのRactorを解き放つ(3)汎用インスタンス変数テーブルの競合を解消する(翻訳)|TechRacho by BPS株式会社
                                    • GitHub - ohbarye/pbt: Property-Based Testing tool for Ruby that supports concurrency with Ractor.

                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                        GitHub - ohbarye/pbt: Property-Based Testing tool for Ruby that supports concurrency with Ractor.
                                      • Ruby: Ractorによる安全な非同期通信の実験(翻訳)|TechRacho by BPS株式会社

                                        概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Ruby Ractor Experiments: Safe async communication - ivo's awfully random tech blog 原文公開日: 2021/02/14 原著者: Ivo Anjo.me Ractorとは、アクターモデルからヒントを得たRuby 3.0の新しいコンカレンシー抽象化です。 APIドキュメント: Ractor | Ruby API (v3.0) 設計ドキュメント: ruby/ractor.md at master · ruby/ruby ある情報を他の場所に送信する処理をRactor目線で見ると、通信を以下のいずれかに分類できます。 非同期(ノンブロッキング) RactorはRactor#sendで他のRactorに情報を送信できます。その情報は送信先のRactorからR

                                          Ruby: Ractorによる安全な非同期通信の実験(翻訳)|TechRacho by BPS株式会社
                                        • RubyKaigi 2025 - Toward Ractor local GC (Day3) - Techouse Developers Blog

                                          こんにちは、株式会社Techouse でエンジニアインターンをしている ez0momonga と申します。 RubyKaigi 2025に参加し、その 3日目に行われた笹田 耕一(@ko1)さんによるセッション「Toward Ractor local GC, 2025」を聴講いたしました。 この記事では、発表の背景知識を振り返りつつ、セッションの内容をまとめさせていただきます。 あらまし かつてシングルコアCPUが主流だった時代は、毎年のようにCPUのクロック周波数の向上やトランジスタ数の増加が続き、ソフトウェアはその性能向上の恩恵を容易に享受できていました。 しかし、物理的な限界からCPUのシングルコア性能の向上は頭打ちとなり、代わって複数のコアを搭載するマルチコアCPUが主流となりました。 このマルチコアアーキテクチャの恩恵を最大限に引き出すためには、並行・並列処理を実現する必要があり

                                            RubyKaigi 2025 - Toward Ractor local GC (Day3) - Techouse Developers Blog
                                          • RactorでTupleSpace - @m_seki の

                                            RactorのAPIが変わった Rubyを4.0.0にしたところ、手持ちのサイトを一つ修正する必要があった。 ハマナの解析,マサキのリサーチ.| Roseanne's Analysis takeをvalueにするだけで解決したけど。 RactorのPort せっかくなので、Ractor::Portを使ってTupleSpaceを作ってみた。最初はRactorの内側でThreadを使おうとしたんだけど、なんだかうまくいかないのでRactorの内側はシングルスレッドで実装しなおした。 FIXMEのところは、単純な配列やTupleBagで書き直せるはず。 情報処理の学会誌(?)向けに書いたN-Queens問題の記事のコードをもってきた。 gist.github.com 手触り Fiberでなにか書くときと似たような種類の神経を使ってちょっとたいへん。Threadは偉大だ。 RactorはRacto

                                              RactorでTupleSpace - @m_seki の
                                            • GitHub - mperham/ratomic: Ractor-safe mutable data structures for Ruby

                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                GitHub - mperham/ratomic: Ractor-safe mutable data structures for Ruby
                                              • RubyのRactorを解き放つ(1)object_idの改修(翻訳)|TechRacho by BPS株式会社

                                                概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Unlocking Ractors: object_id | byroot’s blog 原文公開日: 2025/04/26 原著者: byroot -- Railsコアコミッター、Rubyコミッターであり、ShopifyのRuby/Railsインフラチームのシニアスタッフエンジニアです 日本語タイトルは内容に即したものにしました。 Ractorに関する過去記事では、アプリケーション全体を1つのRactor内で実行できる可能性は低いと私が考えている理由と、それでもRactorは、状況によっては、CPUバウンドの処理をメインスレッドから追い出して一部のパラレルアルゴリズムを有効にするうえで非常に有効であると思われる理由について説明しました。 しかし同記事で既に述べたように、残念ながら現時点のRactorではまだ実現できません。Ra

                                                  RubyのRactorを解き放つ(1)object_idの改修(翻訳)|TechRacho by BPS株式会社
                                                • Toward Ractor local GC

                                                  Koichi Sasada is a programmer, mainly developing Ruby interpreter (CRuby/MRI). He received Ph.D. (Information Science and Technology) from the University of Tokyo, 2007. Now he is still working on MRI development at STORES, Inc. He is also a director of Ruby Association. Garbage collection (GC) is a big challenge in multi-Ractor systems. In the current implementation, all Ractors share a global he

                                                    Toward Ractor local GC
                                                  • Ruby FiberとかRactorを理解する上で理解しておく良さそうなこと - という、話だったそうじゃ

                                                    Ruby Kaigi 2020 TakeoutのMatzさんのキーノートで話されていた「Ractor」や「Fiber」、その話の中で出ていた「非同期I/O」について色々分かってないことが多かったので、前提知識として必要そうなことを纏めてみた Matzさんが話していた内容 プログラミング言語の方向性を決めることは難しいということ。互換性を保ちながら良いものにする! Ruby 3で目指す内容のコンセプトは、Faster(高速化) / More Productive(高い生産性)で、そのために ①Fast、②Concurrent、③Correct。つまり、早くて並列処理可能で正しくプログラムを書ける状況を提供していく FiberやRactorは、Concurrentの話 並列化に関する話の中で、話される内容である。 そもそも、ソフトウェアを並列化する仕組みとして、 マルチプロセス(メモリを共有し

                                                      Ruby FiberとかRactorを理解する上で理解しておく良さそうなこと - という、話だったそうじゃ
                                                    1

                                                    新着記事