並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 99件

新着順 人気順

yjitの検索結果1 - 40 件 / 99件

  • プライベートでMac使うのやめた

    最近、自分のプライベートの開発環境を大きく変えたので紹介する。 先にまとめ プライベートではMacを使わなくなった 家にUbuntuが入ったミニPCを置いた 外からはThinkPad X1 CarbonからTailscale経由のSSHで家のミニPCに接続 購入まで まず、自分にとって最も大きな変化はプライベートでMacを使わなくなったことだ。2013年くらいにプログラミングを始めてからずっとメインのOSはMacだったので、約10年ぶり、ほぼ初めての非Mac環境である。 自分の普段の開発のユースケースは、Webアプリケーション開発とNode.js上で動くソフトウェアの開発、WebKitへのコントリビューション、たまにRustやGoやC/C++で自分専用ツールの開発、くらいなので別にMacで困っているわけではなかった。Web開発やNode.js上のソフトウェアの開発はまあ普通にMacで困らな

      プライベートでMac使うのやめた
    • 自作PC2023: Ryzenをやめた - k0kubun's blog

      Ryzenはゲーム用CPUとしては特に問題ないのだが、 ソフトウェア開発においてはIntelのCPUに比べて不便なポイントがいくつかある。 日々業務で使っていてあまりにもストレスが溜まるので、CPUをIntel Core i7に変更した。 このマシンは8年前に組んだ自作PC なのだが、使っていて不便を感じたパーツを差し替え続けた結果、 今回のアップデートで全てのパーツが当時とは違うものに変わったため、 それぞれ古い方のパーツで不便だったポイントなどを紹介したい。 仕事で使う自作PC 社内のサービスをいじる時は会社から貸与されているM1 MacBook Proを使うのだが、このマシンは不便である。 Rubyのビルドは自分のLinuxのマシンに比べ2倍以上遅いし、Reverse Debuggingができるデバッガが存在しないし、 慣れたツールであるLinux perfも使えないし、Podman

        自作PC2023: Ryzenをやめた - k0kubun's blog
      • Re: OSSで世界と戦うために - k0kubun's blog

        yusukebe さんの OSSで世界と戦うために を読んで感銘を受けた。 hono の快進撃もさることながら、OSSで日本のコミュニティの外にリーチしたり、 GitHubスター数を伸ばしたりみたいな話は、 自分も10年くらい挑戦し続けているけどあんまり表に出てこない気がするネタなので興奮した。 僕はいくつかの点で上記の記事とは違う方法でOSSで世界と戦っているのだが、 その中でうまく行っているものや、良くないと思っているものなどについて紹介したい。 GitHubのスター数 OSSを始めたばかりの学生時代、GitHubのスターへの執着がもはや煩悩の域であり、 集めたスターの数を合計するCLIツールを作ったり、 同じ計算方法でランキングを作るWebサイトを作ったりした。 このサイトによると、僕の今のスター数は9000を超えている。 自作したOSSの中では、スター数が1600くらいのものが2つ

          Re: OSSで世界と戦うために - k0kubun's blog
        • スタディサプリ最大の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
          • 次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは?

            次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは? 機械学習やAI処理の分野を中心に非常に高い人気のプログラミング言語である「Python」の次期バージョンに、処理速度の向上を目指したJITコンパイラが搭載される見通しです。 このJITコンパイラは、PythonコアデベロッパーのBrandt Bucher氏が提案し、実装しています。 そしてPython Software FoundationのフェローであるAnthony Shaw氏がブログ「Python 3.13 gets a JIT」で、このJITコンパイラについて解説しています。 これらの情報を元に、PythonのJITコンパイラがどのように実装されようとしているのか、少し紹介していきましょう。 RubyもJavaScriptもJITが高速化を実現してき

              次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは?
            • より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド

              より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド 昨年(2023年)12月にリリースされた「Ruby 3.2」では、WebAssemblyによって実装されたRubyランタイム「Ruby.wasm」が正式版となりました。これによりWebブラウザや単体のWebAssemblyランタイムの上でRubyランタイムを実行し、Rubyプログラムを実行できるようになりました。 このRuby.wasmをベースに、さらに高速なRubyのWebAssembly実装となる「Ruvy」が、Shopifyからオープンソースとして公開されました。 Calling all #Ruby developers! Explore a new tool for leveraging Ruby to create #WebAs

                より高速なRubyのWebAssembly実装「Ruvy」、Shopifyがオープンソースで公開。Ruby仮想マシンとRubyアプリを組み合わせてビルド
              • 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
                • 社内版 Rails アップグレードガイドを公開します - Timee Product Team Blog

                  こちらはTimee Advent Calendar 2023 シリーズ1の25日目の記事になります。 昨日は @tomoyuki_HAYAKAWA による Swift Concurrency AsyncStreamを使ってみる #Swift - Qiita でした。 タイミーでバックエンドエンジニアをしている id:euglena1215 です。 メリークリスマス🎄 みなさんの手元にはプレゼントは届いているでしょうか。 Ruby の世界では Ruby コミッターサンタさんがクリスマスプレゼントとして新しい Ruby バージョンをリリースしてくれます。 今年は Ruby 3.3 ですね。個人的には 3.3 の YJIT がどれだけ速くなるのか楽しみです。 また、新しいバージョンのリリースにはアップグレードがつきものです。アップグレードせずには新しいバージョンの恩恵を受けることはできません。

                    社内版 Rails アップグレードガイドを公開します - Timee Product Team 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パーサーを一新するprism(旧YARP)プロジェクトの全容と将来(翻訳)|TechRacho by BPS株式会社

                      概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rewriting the Ruby parser | Rails at Scale 原文公開日: 2023/06/12 原著者: Kevin Newton サイト: Rails at Scale | The Ruby and Rails Infrastructure team at Shopify exists to help ensure that Ruby and Rails are 100-year tools that will continue to merit being our toolchain of choice. 日本語タイトルは内容に即したものにしました。 なお、本記事では「パーサー」(parser: 構文解析器)はカタカナで、lexer(字句解析器)は英ママで表記します。 参考: 構文解析 - Wikip

                        Rubyパーサーを一新するprism(旧YARP)プロジェクトの全容と将来(翻訳)|TechRacho by BPS株式会社
                      • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                        テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                          プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                        • 「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略

                          プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。4回目は、Rubyコミュニティが生存するために必要なことについて。前回はこちら。 Rubyコミュニティが生存するためには何が必要か まつもとゆきひろ氏(以下、まつもと):さて、これらの教訓をもとに、Rubyの未来はどうなるかについて考えてみましょう。 教訓をもう1回まとめておきますね。アイデアだけでは、価値がない。単純さは、いつもいいこととは限らない。仕様が大きいことは、いつもい

                            「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略
                          • 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
                            • 2023年にやったこと - k0kubun's blog

                              今年で30歳、社会人9年目、在米5年目になった。今年は 趣味でRJITを作り、仕事でYJITを超高速化した 初めて論文を国際会議に投稿し、採択された 子供とプリスクールに行き始めた という感じの一年だった。 仕事 大変ありがたいことに、自分が今一番興味のある仕事であるYJITの高速化に集中できた一年だった。 いろいろやったが、代表作は以下の三つかなと思う。 スタックオペランドのレジスタアロケータ 最適化未対応なメソッド呼び出しのフォールバック 例外ハンドラのコンパイル どれもベンチマークがかなり速くなった。 特に二つ目と三つ目は、自分で発案してかつ主に僕が重要性を訴えていた奴で、 それらで大きな成果が出たときはかなり達成感があった。 単独のPRでRailsベンチが7%速くなった時はこりゃ昇給するわと思ったが、実際めちゃくちゃ昇給した。 ベンチマークも速くしている一方、僕は本番アプリの最適化

                                2023年にやったこと - k0kubun's blog
                              • Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社

                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Performance impact of the memoization idiom on modern Ruby | Rails at Scale 原文公開日: 2024/02/14 原著者: Jean Boussier(byroot) Ruby 3.2における主要な内部変更のひとつに、オブジェクトシェイプ(object shape)の導入があります。 本記事では、オブジェクトシェイプが導入された理由、仕組み、制限事項について解説します。 🔗 オブジェクトのインスタンス変数はどのように保存されるのか Rubyは非常に動的な言語なので、インスタンス変数へのアクセスという単純な操作でも多くの作業を伴います。 Rubyオブジェクトは、ほとんどの場合インスタンス変数を「参照の配列」に保存します。 たとえば、インスタンス変数を2個持つ

                                  Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社
                                • 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
                                  • Ruby 3.3.0 リリース

                                    Ruby 3.3.0 が公開されました。Ruby 3.3ではPrismという新しいパーサーの追加、新しいパーサージェネレーターであるLramaによるBisonの置き換え、RJITという新たなJITの仕組みを追加、YJITの高速化など様々な改善が行われています。 Prism default gemとしてPrismパーサを導入しました。 Prismは、Ruby言語のためのポータブルで、エラートレラントで、保守可能な再帰下降パーサです。 Prismは本番環境で使用する準備が整っており、積極的にメンテナンスされています。Ripperの代わりに使用することができます。 Prismの使用方法については、詳細なドキュメンテーションがあります。 Prismは、CRubyに内部的に使用されるCライブラリと、Rubyコードを解析する必要がある任意のツールに使用できるRuby gemの2つのコンポーネントを持っ

                                    • 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 の oneshot coverage で本番稼働中の Rails アプリの使用状況を収集して不要なコードを発見するための仕組みを導入した話 - DIGGLE開発者ブログ

                                        前置き プロダクト開発は人の手によって行われるものですから、開発サイクルの中で不要なコードを削除し忘れる人的なミスはどうしても発生します。 後から不要なコードに気づき削除する際には、慎重にチェックして本当にコードが使用されていないことを確認する必要があります。ただし、削除に自信が持てない場合、本番稼働中の Rails アプリに障害が発生する可能性も考慮しなければならず、何も影響しない場合はそのままにしておくことも多く、削除が難しい状況も少なくないと思います。 上記状況を打破するために DIGGLE では本番稼働中の Rails アプリのコードの使用状況を収集して不要なコードを発見するための仕組みを導入したので共有したいと思います。 前置き 不要なコードをどのように発見するか Ruby で コードカバレッジを計測する 仕組み導入にあたって悩んだポイント YJIT を有効化した状態で動作するの

                                          Ruby の oneshot coverage で本番稼働中の Rails アプリの使用状況を収集して不要なコードを発見するための仕組みを導入した話 - DIGGLE開発者ブログ
                                        • RubyKaigi 2024 参加レポート - ZOZO TECH BLOG

                                          こんにちは、DevRelブロックのikkouです。2024年5月15日から17日の3日間にわたり沖縄県は那覇市で「RubyKaigi 2024」が開催されました。ZOZOは例年同様プラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com ZOZOとWEARとRubyKaigi エンジニアによるセッション紹介 Generating a custom SDK for your web service or Rails API Namespace, What and Why YJIT Makes Rails 1.7x Faster Using Ruby in the browser is wonderful. An adventure of Happy Eyeballs Embedding it into Ruby code Unlocking Pot

                                            RubyKaigi 2024 参加レポート - ZOZO TECH 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

                                              • なぜ、アンドパッドは最新のRuby/Railsにこだわるのか?アップデートを止めないための体制と仕組み - what we use(技術スタックデータベース)

                                                なぜ、アンドパッドは最新のRuby/Railsにこだわるのか?アップデートを止めないための体制と仕組み 株式会社アンドパッドの白土慧と申します。OSSなどではkei-sで活動しています。アンドパッドではリアーキテクティングチームに所属し、チームの立ち上げから携わっています。 リアーキテクティングチームの活動を簡単に紹介すると、アンドパッドにある大規模なRailsアプリケーションを、コードや構造も含めて、もっと拡張しやすくて、開発者が使いやすく、ミスの防止などもできるようにする活動をしています。今回のRuby/Railsのアップデートも取りまとめているほか、チームのスコープにはマイクロサービスやモジュラーモノリスなどへの移行の検討も含まれます。 アンドパッドでのRailsの役割アンドパッドにある大規模なRailsアプリケーションをもう少し掘り下げます。 このアプリケーションは「ANDPAD施

                                                  なぜ、アンドパッドは最新のRuby/Railsにこだわるのか?アップデートを止めないための体制と仕組み - what we use(技術スタックデータベース)
                                                • Ruby might be faster than you think - John Hawthorn

                                                  I saw a project a couple weeks back which allows writing and running Crystal methods inline inside a Ruby file. It’s a neat project, and I don’t want to take away from it but something in the README example looked off to me. require 'crystalruby' require 'benchmark' module Fibonnaci crystalize [n: :int32] => :int32 def fib_cr(n) a = 0 b = 1 n.times { a, b = b, a + b } a end module_function def fib

                                                  • 「質問するやつは偉い」を実践する研鑽Rubyプログラミング読書会を#kyotorbで開催しました - Money Forward Developers Blog

                                                    概要 気温が40度近くになり、外を出歩くと命の危険をジリジリと感じる季節になってきましたね。 ぼくはすっかり部屋に引きこもるようになってしまいましたが皆さんは如何お過ごしでしょうか? 祇園祭も終わり、厄除けちまきをランチ帰りに買って帰りました。 意外とランチを食べて1時間ほどで京都オフィスまで戻れることがわかりました。 今度近隣のIT会社の知り合い(はてなのonkさんやHelpfeelのpastakさんたち)を誘って社外エンジニアランチしてみようかなーと画策しています。 (写真はカマルというカレー屋さんと祇園祭の様子です。はてな社の提灯が羨ましすぎて思わず撮ってしまいました。) 研鑽Rubyプログラミングをご存知か? 話は変わりますが、皆さんは研鑽Rubyプログラミング ― 実践的なコードのための原則とトレードオフ(以降、この記事内では研鑽本と表現します。)という書籍をご存知でしょうか?

                                                      「質問するやつは偉い」を実践する研鑽Rubyプログラミング読書会を#kyotorbで開催しました - Money Forward Developers Blog
                                                    • 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 を有効化してパフォーマンス改善を行った結果
                                                      • note の Ruby バージョンを 3.2.2 へアップグレードしました|tic40

                                                        この記事は note株式会社 Advent Calendar 2023 の13日目の記事です。 note ではサービス開始当初から Ruby on Rails(以下、Rails)を採用しています。 この半年間で、Rails バージョンを 6.1.7 から 7.0.8 へ、Ruby バージョンを 2.7.8 から 3.2.2(現時点での最新安定版) へアップグレードしました。 昨年は Railsのアップグレード記事 を書いたので、今年は Ruby のアップグレードに焦点を当てて述べます。 はじめにRuby 2.7 は、2.7.8 のリリースを以て End of Life(EOL)が宣言されています。 EOL を迎えたバージョンは脆弱性が見つかっても修正されないため、運用中のサービスにセキュリティリスクが生じます。このため、アップグレードを行わないという選択肢は実質的にないです。効率的にアップ

                                                          note の Ruby バージョンを 3.2.2 へアップグレードしました|tic40
                                                        • 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
                                                              • Rails edgeでCIを回し始めました 〜設定方法編〜 - Timee Product Team Blog

                                                                こんにちは、マッチング領域でバックエンドエンジニアをしているぽこひで ( @pokohide ) です。 冷やし中華はじめました的なタイトルですね。分かります。 今回はタイミーが本番運用しているRailsアプリケーションに対してRails edgeでCIを回すようになった話を紹介します。翌週には「〜見つけたエラー編(仮)〜」と題して、実際に弊社で見つけたエラーの例を紹介していきます。記事公開時点(2023年7月)のバージョンは下記の通りです。 $ ruby -v ruby 3.2.2 (2023-03-30 revision e51014f9c0) +YJIT [aarch64-linux] $ rails -v Rails 7.0.6 弊社ではRubyもRailsも積極的に最新バージョンにあげる活動をしています。今回の記事はRailsに関してですが、Rubyのアップグレードも同様に行って

                                                                  Rails edgeでCIを回し始めました 〜設定方法編〜 - Timee Product Team Blog
                                                                • RubyKaigi 2024 - ruby-jp

                                                                  これはなに RubyKaigi 2024に関する情報を有志でまとめている非公式ページです。 編集に興味がある方はruby-jpの#scrapboxチャンネルから参加できます。 概要 公式ページ: RubyKaigi 2024 日程: 2024-05-15〜2024-05-17 会場: NAHA CULTURAL ARTS THEATER NAHArt (那覇文化芸術劇場なはーと) (沖縄県那覇市) オフラインのみ 事前イベント 4/16(火) 19:00 - 22:00 第229回 Okinawa.rb Meetup @ SAKURA innobase Okinawa🌸(in-person) 4/23(火) 19:30 - 21:30 RubyKaigi 2024 タイムテーブル徹底解説(in-person) 4/25(木) 19:00 - 21:30 RubyKaigi 2024事前勉

                                                                    RubyKaigi 2024 - ruby-jp
                                                                  • Ruby 3.3.0: aarch64-linux環境でFiber.new{ }.resumeを呼ぶと落ちる問題|TechRacho by BPS株式会社

                                                                    2023.12.28 Ruby 3.3.0: aarch64-linux環境でFiber.new{ }.resumeを呼ぶと落ちる問題 この記事の内容は現在進行中なので、今後状況が変わる可能性があります。 M1 Macbook Pro 2021, Sonoma 14.2.1 Ruby: 3.3.0 Rails: 7.2.1 Docker: 24.0.6, build ed223bc Docker Desktop for Mac: 4.25.2 (129061) Docker Hub: 3.3.0-slim-bookworm 経緯 Ruby 3.3.0リリースの翌日にDocker Hubでも公式のRubyコンテナが公開されました。 ちょうど某所で「M1 MacのDocker環境でRuby 3.3.0ベースのRailsを動かすと落ちる」という書き込みをたまたま見かけました(その後書き込みは削除

                                                                      Ruby 3.3.0: aarch64-linux環境でFiber.new{ }.resumeを呼ぶと落ちる問題|TechRacho by BPS株式会社
                                                                    • Rails edgeでCIを回し始めました 〜見つけたエラー編〜 - Timee Product Team Blog

                                                                      こんにちは、マッチング領域でバックエンドエンジニアをしているぽこひで ( @pokohide ) です。 前回はRails edgeでCIを回し始めた話を紹介しました。 tech.timee.co.jp 今回は、実際に弊社でCIをRails edgeで回し始めた事で見つけたエラーの例を紹介していきます。記事公開時点(2023年7月)のバージョンは下記の通りです。 $ ruby -v ruby 3.2.2 (2023-03-30 revision e51014f9c0) +YJIT [aarch64-linux] $ rails -v Rails 7.0.6 ActiveRecord::DangerousAttributeError object_id is defined by Active Record このエラーに関する参考記事はこちらです。 euglena1215.hatenablo

                                                                        Rails edgeでCIを回し始めました 〜見つけたエラー編〜 - Timee Product Team Blog
                                                                      • Ruby 3.3 リリースパーティを STORES さんと共催し、大盛況に終わりました! #ruby33party - ANDPAD Tech Blog

                                                                        こんにちは、 id:sezemi です。 あと 3 週間ほどで入社から半年が経とうとしていて、念願の有給付与まであと少しとなりました。 待ち遠しい! ちなみにアンドパッドには、有給付与までに 3 日間の入社時特別休暇があります。 インフルエンザやらコロナやらが流行っている中、この休暇があることで、とても助かっています。 さて、前年の 12/25 に Ruby 3.3 がリリースされました 🎉🎉🎉🎉🎉🎉 8888888 www.ruby-lang.org これを祝ってリリースパーティーを STORES さんと共催しましたので、今日はその模様をお届けします! andpad.connpass.com Ruby 3.3 リリパはオフラインがメイン 前回 3.2 のパーティー はコロナがまだ 5 類感染症移行前だったということもあり、会場参加人数は絞り、基本はオンラインで開催していました

                                                                          Ruby 3.3 リリースパーティを STORES さんと共催し、大盛況に終わりました! #ruby33party - ANDPAD Tech Blog
                                                                        • 週刊Railsウォッチ: Pumaのデフォルトスレッド数変更、Rails 1.0をRuby 3.3で動かすほか(20240206前編)|TechRacho by BPS株式会社

                                                                          こんにちは、hachi8833です。Railsガイドを7.1.3向けに更新しました。 #Railsガイド Rails 7.1 が、2024年1月16日にリリースされた Rails 7.1.3 に対応しました🆙🎉 今後もRailsの動向に合わせ、最新のガイドをお届けできるよう励んでいきます📕✨ note 記事はこちら👇https://t.co/i1MkYcriuQ pic.twitter.com/noN3VxC7Uy — Railsガイド 📕 (@RailsGuidesJP) January 24, 2024 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hac

                                                                            週刊Railsウォッチ: Pumaのデフォルトスレッド数変更、Rails 1.0をRuby 3.3で動かすほか(20240206前編)|TechRacho by BPS株式会社
                                                                          • 週刊Railsウォッチ: Rails 8でSprocketsがPropshaftに置き換わる、devcontainerサポートほか(20240228)|TechRacho by BPS株式会社

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

                                                                              週刊Railsウォッチ: Rails 8でSprocketsがPropshaftに置き換わる、devcontainerサポートほか(20240228)|TechRacho by BPS株式会社
                                                                            • 「OSS開発に取り組む人たちを目にして、モチベーションが大きく上がった」RubyKaigi運営者・参加者対談 - Algoage Tech Blog

                                                                              2006年からほぼ毎年、日本で開催されているオブジェクト指向スクリプト言語Rubyに関するイベント「RubyKaigi」。今年は長野県松本市にある「まつもと市民芸術館」で5月11日〜13日に開催され、参加者1,200人を超える盛況のイベントとなりました。株式会社Algoageのエンジニアである石塚大策と纐纈優樹は「RubyKaigi」に参加し、多くの学びがあったといいます。 今回は石塚と纐纈に加え、Algoageでスクラムマスターを務め2017年〜2019年のオーガナイザーでもあった日高尚美、第1回の「RubyKaigi 2006」から運営に携わる角谷信太郎さん*、「RubyKaigi 2015」からチーフオーガナイザーを務める松田明さんにインタビュー。「RubyKaigi 2023」の感想や参加する意義などを語り合いました。 *…角谷さんは、株式会社Algoageでプロダクトチームのアジ

                                                                                「OSS開発に取り組む人たちを目にして、モチベーションが大きく上がった」RubyKaigi運営者・参加者対談 - Algoage Tech Blog
                                                                              • RubyKaigi 2024 アンドパッドブースでの Ruby アンケート結果大公開 - ANDPAD Tech Blog

                                                                                こんにちは hsbt です。RubyKaigi 2024 お疲れ様でした。RubyKaigi 2024 では、毎回のことですが半分以上の時間を廊下ですれ違った Rubyist と「最近どうですか」という会話をしたり、「例の件だけど」「Ruby でこういうことを考えている」というような海外から来た Rubyist と仕事の打ち合わせのようなこともやっていました。 さて、今回は RubyKaigi 2024 でアンドパッドのブースの企画として行っていたアンケートの中から Rubyist が気になるであろう項目についてご紹介します。有効回答数は設問によって異なりますが、いずれも 400 件弱という結果になりました。 RubyKaigi 2024 は参加者が 1300 人前後と聞いているので、この回答結果はおおよそ全体を示す結果と見ても良さそうです。それでは各設問について見ていきましょう。 これま

                                                                                  RubyKaigi 2024 アンドパッドブースでの Ruby アンケート結果大公開 - ANDPAD Tech Blog
                                                                                • Effects of Pitchfork reforking on Shopify’s Monolith

                                                                                  Over the last year, I’ve been working on a new Ruby application server called Pitchfork. In most regards it’s extremely similar to the venerable Unicorn, from which it originates, but with one major extra feature: Reforking, which reduce memory usage of Ruby applications. For most of last year, we couldn’t enable reforking on our application because of an incompatibility with one of our dependenci

                                                                                    Effects of Pitchfork reforking on Shopify’s Monolith