並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 22 件 / 22件

新着順 人気順

yjitの検索結果1 - 22 件 / 22件

  • スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog

    こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカ食いマイクロサービス第一位である api

      スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog
    • Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog

      Ruby 3.3がリリースされた。YJITには非常に多くの改善が含まれたリリースだったが、 NEWS解説記事やリリースパーティーでは 2点しか触れられなかったので、この記事ではRuby 3.3でYJITがどう改善されたかについて解説する。 YJITは既に実用段階 YJITはRuby 3.1で導入されたが、Ruby 3.2の時点でexperimentalのマークが外れ、実用段階となった。 Ruby 3.2では、以下のような企業で性能改善が報告された。 DeNA: 40% 高速化 GMOペバボ: 18% 高速化 STORES: 6.5-7.5% 高速化 Timee: 10% 高速化 メドピア: 2.8% 高速化 BOOK☆WALKER: 20-30% 高速化 Discourse: 15.8-19.6% 高速化 Lobsters: 26% 高速化 CompanyCam: 20-40% 高速化 弊

        Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog
      • YJITの性能を最大限引き出す方法 - k0kubun's blog

        RubyのJITコンパイラYJITを開発している弊社Shopifyでは、社内で最もトラフィックが多いストアフロントのアプリにRuby 3.3 (master) をデプロイして平均レスポンスタイムが16%高速化、社内で最も大きなアプリであるモノリスにRuby 3.2をデプロイして平均レスポンスタイムが9%高速化している。他の会社でも、YJITを本番で有効にしたら高速化したという事例をちらほら目にした。 一方で必ずしも良い報告ばかりではなく、YJITを有効化したらメモリを使い切ってしまったりだとか、遅くなったみたいな報告も目に入ることがある。こういった問題は我々も多かれ少なかれ経験しており、それぞれ適切に対処することで解決できたため、その知見を共有する。*1 メモリを使い切ってしまった時 zenn.dev YJITを有効化すると、YJITが生成する機械語に加えて、それに関するメタデータもメモリ

          YJITの性能を最大限引き出す方法 - k0kubun's blog
        • Ruby 3.3’s YJIT Runs Shopify’s Production Code 15% Faster

          Ruby 3.2 YJIT is Battle-Tested Shopify deploys YJIT on business-critical services in production, such as Storefront Renderer, the software that powers all online storefronts on Shopify’s platform, and Shopify’s Monolith. As of the Ruby 3.2 release, YJIT sped up our Storefront Renderer by 10% on average. Storefront Renderer is a complex application. Your more reasonable-sized app might get better/w

            Ruby 3.3’s YJIT Runs Shopify’s Production Code 15% Faster
          • Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp

            Ruby 3.3リリース! 新機能解説 Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす 2023年12月25日、Ruby 3.3.0がリリースされ、様々な新機能が加えられました。本連載では実際に携わった皆さんにその新しいRubyをご紹介いただきます。 RubyはJust-In-Time(JIT)コンパイラという機能を備えており、これを有効化すると実行時に機械語を生成して様々な最適化が行なわれ、実行が高速になります。Ruby 3.3にはYJITとRJITという2つのJITコンパイラがあり、デフォルトでは無効になっていますが、それぞれ--yjitと--rjitで有効化できます。 この回では、Ruby 3.3でYJITの性能特性が変化した点や、YJITに新たに追加された便利な機能、またRJITはどのように使うものであるかについて解説します。 YJ

              Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp
            • Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート | gihyo.jp

              RubyKaigi 2023 キーノートレポート Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート 最近のRubyインタプリタの進化において非常に重要なトピックの一つが、JITコンパイラの登場です。特にShopifyのJITコンパイラチームを中心に開発されたYJITは、世の中で広く使われているRailsアプリケーションを有意に高速化できるJITコンパイラとして、既にproduction-readyであると評価されており、各所で採用が進んでいます。 RubyKaigi 2023 2日目のMaxime Chevalier-Boisvertさんによるキーノートでは、開発チームがYJITを開発するにあたってどういったアプロ

                Maxime Chevalier-Boisvertさん「Optimizing YJIT’s Performance, from Inception to Production」 ~RubyKaigi 2023 2日目キーノート | gihyo.jp
              • Ruby 3.3.0+YJIT本番運用カンパニーになりました - Timee Product Team Blog

                こんにちは。バックエンドエンジニアの須貝(@sugaishun)です。 今回はタイミーが本番運用しているRailsアプリケーションに対してRuby3.3.0へのアップデートを行った(YJITは引き続き有効なまま)のでその結果をご紹介したいと思います。 昨年弊社のid:euglena1215が書いたエントリーのRuby3.3.0版です。 tech.timee.co.jp 前提 タイミーのWebアプリケーションとしての特性は基本的には昨年と変わりありません。ですので、昨年の内容をそのまま引用させてもらいます。 タイミーを支えるバックエンドの Web API は多くのケースで Ruby の実行よりも DB がボトルネックの一般的な Rails アプリケーションです。JSON への serialize は active_model_serializers を利用しています。 今回の集計では API

                  Ruby 3.3.0+YJIT本番運用カンパニーになりました - Timee Product Team Blog
                • Ruby 3.3正式リリース。YJITコンパイラの大幅な性能向上、RubyのスレッドスケジューラとしてM:Nスレッドスケジューラ導入など新機能

                  Ruby開発チームは、2023年12月25日にRuby 3.3の正式リリースを発表しました。Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっており、今回も予定通りに新バージョンが登場しています。 Ruby 3.3では、Shopifyが中心となって開発を進めてきたJITコンパイラのYJITコンパイラの大幅な性能向上、Rubyに同梱されているdefault gemとしてPrismパーサの導入、よりコストの小さなM:Nスレッドスケジューラの導入など新機能が加わっています。 Rubyはもともとインタプリタとして登場しましたが、現在では実行速度向上のためにJITコンパイラを取り入れるようになっています。 Ruby 3.1でメインラインにマージされたYJITコンパイラは、ECサイト構築サービスを提供するShopifyが、大規模なRailsアプリケーションにおいてより高い性能向上を

                    Ruby 3.3正式リリース。YJITコンパイラの大幅な性能向上、RubyのスレッドスケジューラとしてM:Nスレッドスケジューラ導入など新機能
                  • Rails 6.1のままRuby 3.2にアップデートし、YJITの恩恵を受ける

                    先日、携わっているサービスで一番大きいRailsアプリをRuby 3.2にアップデートし、YJITを有効化できました。 方針を検討した結果、今回はRails 6.1およびPsych 3系のままRuby 3.2にアップデートする戦略をとったため、その手順をまとめます。 先週にメインのサービスをRuby 3.2にしてYJITを有効にできました! 実際に速くなったし嬉しい大YJIT記念日だ🎉 https://t.co/Wkhc6fDfj9 — Hiroshi Shimoju (@shimoju_) July 19, 2023前提#今回のRailsアプリはサービスの機能がほぼすべて詰まっているモノリスで、歴史も8年と比較的長いです。 アップデート前のバージョンはRuby 3.0、Rails 6.1で、Psychは3系。 正攻法では、おおむね以下の手順でアップデートを進めていくことになります。 R

                    • Rails 7.1 + Ruby 3.3 で YJIT を有効化してパフォーマンス改善を行った結果

                      この記事の概要 こんにちは。PharmaX でエンジニアをしている諸岡(@hakoten)です。 この記事では、薬局DX事業部のバックエンドで採用しているRuby on Railsのアプリケーションについて、Rubyバージョンを3.3にアップグレードし、YJITを有効化した結果、どのようにパフォーマンスが向上したかをご紹介します。 現在のRuby on Railsのバージョンは、「7.1.3」になります。 YJITについての簡単な説明 YJITとは、CRuby内部に組み込まれた軽量のJIT機能で、遅延コード生成を行い、必要なメソッドを部分的にコンパイルすることで高速化を図る仕組みです。 (処理系は詳しくないため、ざっくりになってしまいすみません。。) Ruby 3系列の主要な機能の一つであり、3.1で導入され、3.2で正式にサポートされ、3.3においてさらに安定化が行われています。 詳しい

                        Rails 7.1 + Ruby 3.3 で YJIT を有効化してパフォーマンス改善を行った結果
                      • Ruby 3.3でのアップデートも要チェック!まちのコインでYJITを有効化したはなし - KAYAC engineers' blog

                        SREチームの長田です。 今回はRubyのJITコンパイラであるYJITのはなしです。 カヤックが開発・運用している地域通貨サービス「まちのコイン」は、Ruby on Railsを使用しています。 このまちのコインにてYJITを有効化し、その結果どのような影響があったのかを紹介します。 coin.machino.co YJITとは YJITは RubyのJITコンパイラです。 Ruby 3.1までは実験的な機能という位置づけでしたが、 Ruby 3.2から実用段階となりました。 Basic Block Versioning (BBV)を採用した遅延コンパイルにより、コード実行の高速化を図っているようです。 YJITそのものの話題については、今回は割愛させていただきます。 まちのコインの状況 まちのコインでは昨年6月末頃に Ruby 3.1.x から Ruby 3.2.x にアップデートを行

                          Ruby 3.3でのアップデートも要チェック!まちのコインでYJITを有効化したはなし - KAYAC engineers' blog
                        • YJIT Is the Most Memory-Efficient Ruby JIT

                          This year, the YJIT team and I have gotten a paper accepted at MPLR 2023 (Managed Programming Languages and Runtimes), which is now freely available through ACM open access. The paper, titled “Evaluating YJIT’s Performance in a Production Context: A Pragmatic Approach”, goes into details of the strategy taken to evaluate YJIT’s performance in a production context. One of our key findings, when com

                            YJIT Is the Most Memory-Efficient Ruby JIT
                          • YJIT Makes Rails 1.7x faster / RubyKaigi 2024

                            RubyKaigi 2024 https://rubykaigi.org/2024/

                              YJIT Makes Rails 1.7x faster / RubyKaigi 2024
                            • Monitoring YJIT in Production

                              YJIT is a JIT compiler for Ruby that Shopify has developed. In 2022, we enabled YJIT in all storefront requests and observed ~10% speedups. Do you use an app performance monitor like NewRelic or Scout, or check your daily performance graphs? Here’s how you can make sure YJIT is doing what you want when you monitor. Use what you already have We work hard to make YJIT efficient on various workloads

                                Monitoring YJIT in Production
                              • RubyKaigi 2023に参加した結果、RailsのYJITを有効化しパフォーマンス向上した - STORES Product Blog

                                STORES 予約 でエンジニアリングマネージャーをしている natsume です。 今回はRubyKaigi 2023に参加して「うぉぉなんかやるぞぉ!」となった結果、STORES 予約 のバックエンドであるRailsアプリケーションをYJIT有効化しパフォーマンス向上できました。 動機からわかるとおり、YJIT有効化までノリと勢いでやりました。 影響されたセッションはDAY2のKeynoteである Optimizing YJIT’s Performance, from Inception to Production です。 (影響はされましたが内容は全然わからなかった。英語勉強する、絶対) rubykaigi.org 有効化の手順 STORES 予約 ではすでにRuby 3.2を利用していたのでかなりサクッとできました。 利用しているDocker imageで対応確認 Debian(s

                                  RubyKaigi 2023に参加した結果、RailsのYJITを有効化しパフォーマンス向上した - STORES Product Blog
                                • Ruby 3.3’s YJIT: Faster While Using Less Memory

                                  This year, the YJIT team has been working hard to improve and optimize YJIT. We’re proud to say that the version of YJIT to be included with Ruby 3.3 is leaps and bounds ahead of Ruby 3.2’s. It provides better performance across the board, while also warming up faster and using less memory. The 3.3 release is also more robust, including a number of bug fixes along with an improved test suite. In t

                                    Ruby 3.3’s YJIT: Faster While Using Less Memory
                                  • 週刊Railsウォッチ: Ruby 3.3でYJITを有効にすべき理由、Turbo 8の注意点8つほか(20240119後編)|TechRacho by BPS株式会社

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

                                      週刊Railsウォッチ: Ruby 3.3でYJITを有効にすべき理由、Turbo 8の注意点8つほか(20240119後編)|TechRacho by BPS株式会社
                                    • Aaronさんとk0kubunさんに聞く!YJITを用いたShopify開発環境と海外アーキテクチャ (2023/07/26 12:00〜)

                                      こんな方にお勧め: Ruby,Railsの海外事情 Shopifyの開発環境や技術、海外企業の動向について知りたい方 海外企業の開発環境や技術、動向を知りたい方 現地エンジニアのキャリアパス 本イベントのゴール Rubyの動向や外資系企業の技術構造やトレンドがわかった Shopifyの開発環境について知ることができた 海外企業で働く現地エンジニアの考え方がわかった 🎁参加方法とプレゼント企画 専用URLからFindyマイページに遷移後、視聴URLが表示されます。 URLはお申し込みいただいた方へ視聴用リンクをお渡ししています。 参加後アンケート回答者の中から抽選で5名に、以下の書籍をプレゼント差し上げます。 『研鑽Rubyプログラミング 実践的なコードのための原則とトレードオフ』 『Effective Ruby 』 ※プレゼントを検討しておりましたが、販売休止のため取り止めといたします。

                                        Aaronさんとk0kubunさんに聞く!YJITを用いたShopify開発環境と海外アーキテクチャ (2023/07/26 12:00〜)
                                      • Ruby3.2 + Rails 7.0 で YJIT 有効化によるパフォーマンスについて

                                        はじめに こんにちは、terandard です。 昨年(2023)のクリスマスに Ruby 3.3.0 のリリースがありました。 リリースノートには「YJIT の大幅なパフォーマンス改善」とあるので、今年の RubyKaigi でも YJIT についての講演があるのかな?とワクワクしております。 弊社のサービスは昨年まで Ruby 3.1 だったため、年始に Ruby 3.2 にアップデートしました。 YJIT も有効化したので、YJIT 有効化前後のパフォーマンス比較について共有します。 YJIT 有効化前後のパフォーマンス確認 リリース前後の1週間のパフォーマンスを比較しました。 グラフに関しては「点線: リリース前」「実線: リリース後」となっています。 リクエスト数 Avg 2.34k → 2.36k 時間ごとのリクエスト数の差はほとんどありませんでした。 従って以降の各指標は Y

                                          Ruby3.2 + Rails 7.0 で YJIT 有効化によるパフォーマンスについて
                                        • 週刊Railsウォッチ: ArelでCAST関数サポート、webdrivers依存を解消、YJIT高速化ほか(20230824後編)|TechRacho by BPS株式会社

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

                                            週刊Railsウォッチ: ArelでCAST関数サポート、webdrivers依存を解消、YJIT高速化ほか(20230824後編)|TechRacho by BPS株式会社
                                          • RubyKaigi 2024 - YJIT Makes Rails 1.7x Faster (Day3) - Techouse Developers Blog

                                            YJIT Makes Rails 1.7x Faster こんにちは、2024年に新卒で入社し、ジョブハウスでバックエンドエンジニアをしているnozomemeinです。 本記事では、3日目のTakashi Kokubun(@k0kubun)さんによるセッション、YJIT Makes Rails 1.7x Faster について紹介させていただきます。 YJITとは? 講演の内容に入る前に、YJITの歴史と特徴についてまとめます。 YJITの概要 YJITは「Yet Another Ruby JIT」の略で、Shopifyで開発され、Ruby 3.1から導入されたJITコンパイラです。 Ruby2.6から、MJITと呼ばれるJITコンパイラが存在していましたが、YJITはそれをさらに進化させたものです。 YJITはJITコード(中間表現 or IR)を使用し、機械語に変換して実行します。 こ

                                              RubyKaigi 2024 - YJIT Makes Rails 1.7x Faster (Day3) - Techouse Developers Blog
                                            • 週刊Railsウォッチ: Rails+Ruby 3.3でYJITがデフォルトでオンにほか(20231122前編)|TechRacho by BPS株式会社

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

                                                週刊Railsウォッチ: Rails+Ruby 3.3でYJITがデフォルトでオンにほか(20231122前編)|TechRacho by BPS株式会社
                                              1