並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 189件

新着順 人気順

TruffleRubyの検索結果1 - 40 件 / 189件

  • 新しいRubyアプリサーバー「NGINX Unit」を調べてみた(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: A New Ruby Application Server: NGINX Unit 原文公開日: 2018/03/28 著者: Nate Berkopec (@nateberkopec): Railsのパフォーマンスコンサルタントです。 主著: The Complete Guide to Rails Performance 参考に、NGINX Unitの動画を貼っておきます。 画像は元記事からの引用です。 概要: NGINX inc.は同社の新しい複数言語対応アプリサーバーであるNGINX UnitでRubyのサポートを開始しました。NGINX UnitはRubyアプリサーバーにどんな意味をもたらすのでしょうか?NGINX Unitは注目すべき製品なのでしょうか?(2057文字、10分) Rubyistのための新しいアプリサーバー

      新しいRubyアプリサーバー「NGINX Unit」を調べてみた(翻訳)|TechRacho by BPS株式会社
    • マネジメントの極意は「自分のことは棚にあげる」こと, MacBook Pro M1 Max を 1 週間使ってみての感想 - HsbtDiary(2022-02-04)

      ■ マネジメントの極意は「自分のことは棚にあげる」こと タイトルは https://qiita.com/jnchito/items/0a0b46106681f41f2f0e のインスパイアです。 昔エンジニアなどをやっていた時に、マネージャや上司から何かコメントを受けると「とは言っても、このコードも書けないのにさあ」というような気持ちになった経験から、自分が実際にマネジメントをする立場になると、「は〜、React とかあまりわからんので方針とか出しにくいなあ」となって止まってしまうことがあります。 昨今のソフトウェアエンジニアリングは幅も深さも異次元のレベルまで広がっているので、全てのことをマネジメントが実践できるというのは正直無理な話です。自分ができることしかマネジメントできないなら、ソフトウェア開発の世界では何もできないのに等しいです。 そこで必要なことは「自分のことは棚にあげる」です

      • Ruby 3.0.0 リリース

        Posted by naruse on 25 Dec 2020 Ruby 3.0系初のリリースである、Ruby 3.0.0 が公開されました。 これまで、Ruby3に向けてパフォーマンスの改善、並行処理、静的解析という3つの目標を掲げて、活発に開発が行われてきました。特にパフォーマンスの改善については、Ruby 3x3 として「Ruby3はRuby2の3倍速くする」ことを目指してきました。 Ruby 3.0では開発の指標の一つとしてきたOptcarrotベンチマークで3倍を達成するとともに、以下のような取り組みが行われています。 benchmark-driver.github.io/hardware.html に書かれている環境で計測されました。 8c510e4095 が Ruby 3.0 として使われています。環境やベンチマークによっては3倍にならないかもしれません。 Ruby 3 では

        • Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です

          2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP

            Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です
          • Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々

            元記事: Awesome Ruby Ruby 以外の言語, ソフトウェアについては を参照してください. Awesome List in Qiita Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium 抽象化 ActiveInteraction - アプリケーション固有のビジネスロジックを管理します. Cells - Rails のコンポーネントを表示します. Decent Exposure - コントローラに宣言的インタフェースを提供するヘルパー. dry-rb - 共通のタスクをカプセル化するための, 次世代 Ruby ライブラリコレクションです. Interactor - 1回のリクエストで複雑なインタラクションを実行するため

              Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々
            • Ruby 2.6にJITコンパイラをマージしました - k0kubun's blog

              The English version of this article is available here: medium.com 2/4(日)に、去年のRubyKaigiが終わった直後の新幹線で開発を始め10月に公開したJITコンパイラをRubyのtrunk (2.6.0-dev) にマージし、昨日TD Tech Talk 2018で以下のような内容の発表をしました。 speakerdeck.com まだそれほど速くできていないということもあり、私はTwitterでのみ共有して満足していたのですが、海外の方がいくつか記事を書いてくださいました。 Playing with ruby's new JIT: MJIT - John Hawthorn Ruby’s New JIT – Square Corner Blog – Medium とても丁寧に書かれているので、私の記事がわかりにくければ

                Ruby 2.6にJITコンパイラをマージしました - k0kubun's blog
              • セルフホストで学ぶJVM入門 - k0kubun's blog

                RubyのJIT開発でやろうと思ってることが大体 @_ko1 さんの作業待ちでブロックしていて暇なので何かを書こうと思い、JVMを書くことにした。 まだその辺のアプリを気軽に動かせるレベルでは全然ないが、別に秘密裏に開発する必要もないと思ったので公開した。 github.com これの紹介と、現時点で学べたことをこの記事に記録しておく。 何故JVMなのか 仕事でJVM言語を使っている 僕が所属しているTreasure Dataでは、大雑把に言うと本番サーバーのサービスは大体Ruby, Java, Scala, Kotlinで書かれている*1ので、既にRubyのVMはある程度わかる*2ことを考えると、JVMさえ理解してしまえば社内の主要な言語評価系を抑えたことになり、運用面で活躍の機会が増える気がしている。 また、自分が最近一番書いているのはKotlinなのだが、JVMで動かしていることに由

                  セルフホストで学ぶJVM入門 - 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株式会社
                  • 詳説GraalVM(1) イントロダクション - Fight the Future

                    GraalVMが1.0.0 RC1を出し、公式サイトを公開しました! http://www.graalvm.org/ 日本の技術ブログメディアPublickeyさんも取り上げておられます。 www.publickey1.jp そのこともあって、Graalで検索しこのブログへたどり着いた方も多かったです。私は1年ほど前、0.23の頃からGraalVMとGraal(両者の違いは後述)を触ってきました(単に触っているだけの1ファンです)。おそらく熱狂的なファンの方で、JavaOneではGraalとあるものは全セッション入りましたし、YouTubeにある世界の技術カンファレンス動画でGraalに関するものはおそらくすべて見ています。 なので自己満足がてらGraalVMについて書いていきます。 GraalVMって何なの? 端的に言うと"Polyglot VM"です。Polyglotとは多言語を意味し

                      詳説GraalVM(1) イントロダクション - Fight the Future
                    • プログラミング言語 Ruby30 周年記念イベント レポート

                      プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

                      • Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社

                        概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Future Shape of Ruby Objects 原文公開日: 2021/09/10 原著者: Chris Seaton RubyKaigi Takeout 2021: The Future Shape of Ruby Objects by Chris Seaton - RubyKaigi Takeout 2021 日本語タイトルは内容に即したものにしました。本記事はRubyKaigi Takout 2021 Day2キーノートのスピーチ原稿につき、最終的な発表内容はこのとおりでない部分もあります。流れを把握するために必要と思われる部分については訳注で補足いたしましたが、わかりにくい場合は動画と合わせてご覧ください。 本記事ではshapeの仮訳として「シェイプ」を採用しています。 なお、本記事公開後にCRuby 3

                          Rubyオブジェクトの未来をつくる「シェイプ」とは(翻訳)|TechRacho by BPS株式会社
                        • Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby · Sorbet

                          For the past year, the Sorbet team has been working on an experimental, ahead-of-time compiler for Ruby, powered by Sorbet and LLVM. Today we’re sharing the source code for it. It lives alongside the existing code for Sorbet on GitHub, mostly in the compiler/ folder: → https://github.com/sorbet/sorbet/tree/master/compiler/ We want to be clear up front: the code is nowhere near ready for external u

                            Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby · Sorbet
                          • GitHub Actionsで Ruby を使うための現状と展望(2019/01/05時点) - masa寿司の日記

                            2020/02/08追記 GitHub Actionsでrubyを使うなら ruby/setup-ruby を使おう - masa寿司の日記 に本記事より後の状況をまとめました。 はじめに actions/setup-rubyにPR出したのをきっかけに masa-iwasaki/setup-rbenvを作ったりして actions/setup-ruby周りで多少知見が溜まっているので、まとめてみます。 注意事項 GitHub Actionsに関する説明や他CIと比較などは省略します。 断りがない限り、すべて現時点での話です。 後半で書きますが、今後一気に状況が変わる可能性があります。 ほぼ自分が使っているLinux環境(Ubuntu 18.04)の話だけ書いてます。そして、もちろん私の独断です。 タイトルどおりの内容なのですが、もしかするとRuby以外の言語やソフトウェア・ライブラリにも役

                              GitHub Actionsで Ruby を使うための現状と展望(2019/01/05時点) - masa寿司の日記
                            • Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp

                              Ruby 3.3リリース! 新機能解説 Prism⁠⁠:エラートレラントな⁠⁠、まったく新しいRubyパーサ Prismは、Ruby 3.3.0にバンドルされた新しいライブラリで、プログラミング言語Rubyの新しいパーサであるPrismパーサのバインディングです。Prismはエラートレラント、移植性、メンテナンス性、高速性、効率性を考慮して設計されています。この記事では、Prismの歴史、設計、API、そして今後の課題について取り上げます。 使用方法 Rubyバインディングを通してPrismパーサを使うにはrequire "prism"をして、Prismモジュールのparseメソッド、または他のparse_*系のメソッドを呼んでください。次に例を示します。 require "prism" Prism.parse("1 + 2") parseメソッドは、パース結果のオブジェクトを返します。こ

                                Prism:エラートレラントな、まったく新しいRubyパーサ | gihyo.jp
                              • 週刊Railsウォッチ(20170707)Railsの新機能ActiveStorage、高速Rubyフォーマッタrufo gemが超便利、Railscasts全コンテンツが無料公開ほか|TechRacho by BPS株式会社

                                2017.07.07 週刊Railsウォッチ(20170707)Railsの新機能ActiveStorage、高速Rubyフォーマッタrufo gemが超便利、Railscasts全コンテンツが無料公開ほか こんにちは、hachi8833です。そういえば今日は七夕でした。 7月最初のRailsウォッチ、いってみましょう。 臨時ニュース: Railsの新機能「ActiveStorage」 リポジトリ: rails/activestorage つい先ほど知りました。まだ詳しく見ていませんが、AWSのS3やGoogle Cloud Storageなどのクラウドを透過的に扱えるようです。DHHのfirst commitもわずか19時間前というスピード公開です。 class User < ApplicationRecord has_one_attached :avatar end user.avat

                                  週刊Railsウォッチ(20170707)Railsの新機能ActiveStorage、高速Rubyフォーマッタrufo gemが超便利、Railscasts全コンテンツが無料公開ほか|TechRacho by BPS株式会社
                                • Smalltalkのtは小文字です

                                  2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP

                                    Smalltalkのtは小文字です
                                  • Ruby 3 JITの最新情報: 現状と今後(翻訳)|TechRacho by BPS株式会社

                                    JITでどれだけ速くなるか この世には「嘘」、「ひどい嘘」、そして「ベンチマーク」があります(訳注: 元ネタ)。JITによる高速化を正確な値で表すなど無理な相談です。正確な値など存在しないからです。しかし、特定のプログラムについては、完全に合理的な負荷をかけた状態で50%、150%、あるいは250%までJITで高速化できるケースが多々あります。現実的な負荷の元で、500%以上もの高速化を達成するケースすらいくつかあります。ただし、JITよりインタプリタの方が速いケースも若干あることは言うまでもありません。なぜなら、現実世界には常に最適化されているものなど存在しないからです。 現時点での無難かつシンプルなCRuby向けJIT実装では、およそ30%〜50%のパフォーマンス向上が見られ、測定方法次第では最大150%に達することもあります。30%〜50%はJITにしてはかなり控えめな値ですが、これ

                                      Ruby 3 JITの最新情報: 現状と今後(翻訳)|TechRacho by BPS株式会社
                                    • The Ruby Bibliography

                                      The Ruby programming language hasn't historically been the subject of much research, either in industry or academia. A lot of recent systems research has used languages like C, C++ and Java. Contemporary programming language research often uses languages like Java, Scala, Racket and Haskell. Modern research into VMs, compilers and garbage collectors is often based on Java or recently Python. Howev

                                      • Ruby: GemfileとGemfile.lock究極ガイド(翻訳)|TechRacho by BPS株式会社

                                        概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: The Ultimate Guide to Gemfile and Gemfile.lock | Saeloun Blog 原文公開日: 2022/08/16 原著者: Keshav Biswa サイト: Saeloun Blog Ruby on Railsの開発者なら、GemfileやGemfile.lockを知らない人はいないでしょう。この2つのファイルはRuby gemをインストールするのに欠かせませんが、仕組みを知らないままでは混乱する可能性もあります。本記事では、Gemfileとは何か、その中に何があるのか、および使い方について解説します。 最初に、デフォルトのRails 7アプリケーションを作成し、それからGemfileの各行を調べて意味を理解していきましょう。 新規作成したアプリのディレクトリには、Gemfileと

                                          Ruby: GemfileとGemfile.lock究極ガイド(翻訳)|TechRacho by BPS株式会社
                                        • PythonユーザーのためのGraalVM | フューチャー技術ブログ

                                          ちょうど一年ぐらい前にGraalVMが商用利用可能な安定版に達し、Enterprise版もリリースされたというニュースがあります。 publickey: GraalVM、ついに本番利用可能なバージョン「GraalVM 19.0」登場、JavaやJavaScriptなど多言語対応ランタイム。商用版のGraalVM Enterprise Editionもリリース GraalVMにはPython機能もあると宣伝されているものの、詳しい説明が行われることがなく、それが何者で、どのようなステータスで、どこを目指しているのか、きちんと答えられる人は(日本どころか世界でも)ほぼいないでしょう。GraalVMそのものの説明はちょくちょく出てくるようになってきたと思いますが、そのPythonの機能についてはあまり説明されていないため、Python部分にフォーカスして紹介します。 Graal.Pythonのイ

                                            PythonユーザーのためのGraalVM | フューチャー技術ブログ
                                          • まつもとゆきひろさん「30 Years of Ruby」 〜RubyKaigi 2023 1日目キーノート | gihyo.jp

                                            2023年5月11日から13日まで、長野県松本市でRubyKaigi 2023が開催されました。今回のRubyKaigiは「松本に始まり松本に終わる」かたちで、Rubyの作者であるまつもとゆきひろさんの基調講演からスタートしました。タイトルは「30 Years of Ruby」です。 今年はRubyの開発を始めてから30年の節目ということで、今回の講演では、これまでの開発で得た様々な教訓を、いくつかの時代ごとに区分して紹介くださいました。 1993年2月24日⁠:Rubyの誕生 Rubyの名前が決まったのがこの日です。この時点ではRubyのコードは1行もなかったそうですが、公開された日ではなく、名前が決まった日が誕生日とされています。ソフトウェアは物理的実体を持たない概念であり、名前によってその存在が決まるのだから、名前が決まった日を持ってRubyという概念が誕生したとみなしているそうです

                                              まつもとゆきひろさん「30 Years of Ruby」 〜RubyKaigi 2023 1日目キーノート | gihyo.jp
                                            • Parallel and Thread-Safe Ruby at High-Speed with TruffleRuby

                                              These are the slides of my keynote at RubyKaigi 2018: http://rubykaigi.org/2018/presentations/eregontp.html#jun02 Array and Hash are used in every Ruby program. Yet, current implementations either prevent the use of them in parallel (the global interpreter lock in MRI) or lack thread-safety guarantees (JRuby and Rubinius raise an exception on concurrent Array append). Concurrent::Array from concur

                                                Parallel and Thread-Safe Ruby at High-Speed with TruffleRuby
                                              • Ruby NextトランスパイラでRubyの新機能を使おう(翻訳)|TechRacho by BPS株式会社

                                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Ruby Next: Make all Rubies quack alike — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2020/05/04 著者: Vladimir Dementyev -- Evil Martiansのリード開発者です。 サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語タイトルは内容に即したものにしました。 Ruby初のトランスパイラRuby Nextをご紹介します。これを使うことで、プロジェクト規模のアップグレードでつらい思いをせずに、エクスペリメンタルな機能も含むRubyの最新機能を利用できる

                                                  Ruby NextトランスパイラでRubyの新機能を使おう(翻訳)|TechRacho by BPS株式会社
                                                • Javaの新JITコンパイラ、Graalを解説

                                                  Javaでコンパイラを書くと大きな利点がいくつかあるとわかる。次のようなことだ。 コンパイラエンジニアが新規に加わる際のハードルが非常に低くなる。 コンパイラにおいてメモリ安全になる。 コンパイラ開発で成熟したJavaのツール群を活用できる。 新しいコンパイラ機能のプロトタイプをより早く作れる。 コンパイラがHotSpotから独立したものとなる。 コンパイラが自分自身をコンパイルでき、自分自身のより速いJITコンパイルされたバージョンを生成できる。 Graalは新しいJVMコンパイラインタフェース (JVMCI) を使っている。これはHotSpotにプラグインできるようJEP 243として提供されているが、GraalVMの主要な部分としても使われている。この技術はもう存在しており、現時点でリリースされているが、Java 10ではまだかなり実験的な技術である。次のようにすると新しいJITコン

                                                    Javaの新JITコンパイラ、Graalを解説
                                                  • Ruby フルタイムコミッタの仕事報告 2023年Q4 - ANDPAD Tech Blog

                                                    こんにちは hsbt です。RubyConf Taiwan 2023 の登壇から帰国して後はバルダーズ・ゲート3をプレイして年を越すのみ...! とは行かず、Ruby 3.3.0 のリリースに向けて最後の準備作業をしている真っ最中です。 さて、今回はANDPAD Advent Calendar 2023の20日目として、今年1年私がプログラミング言語 Ruby の開発のために手を動かしてきた内容の中からテックブログやカンファレンスで発表していない内容をまとめてご紹介します。 default gems から bundled gems への変更の目的 私は数年前から Ruby に元々添付されていたライブラリ(標準添付ライブラリ)を default gems と呼ばれる gem としてもインストールやアップデートができる状態にし、そこからさらに bundled gems と呼ばれる Ruby 本

                                                      Ruby フルタイムコミッタの仕事報告 2023年Q4 - ANDPAD Tech Blog
                                                    • Rewriting the Ruby parser

                                                      At Shopify, we have spent the last year writing a new Ruby parser, which we’ve called YARP (Yet Another Ruby Parser). As of the date of this post, YARP can parse a semantically equivalent syntax tree to Ruby 3.3 on every Ruby file in Shopify’s main codebase, GitHub’s main codebase, CRuby, and the 100 most popular gems downloaded from rubygems.org. We recently got approval to merge this work into C

                                                        Rewriting the Ruby parser
                                                      • YJIT: Building a New JIT Compiler for CRuby - Shopify

                                                        YJIT: Building a New JIT Compiler for CRubyA team of skilled engineers from Shopify and GitHub on YJIT, a new Just-in-time (JIT) compiler built inside CRuby. The 1980s and 1990s saw the genesis of Perl, Ruby, Python, PHP, and JavaScript: interpreted, dynamically-typed programming languages which favored ease of use and flexibility over performance. In many ways, these programming languages are a p

                                                          YJIT: Building a New JIT Compiler for CRuby - Shopify
                                                        • 週刊Railsウォッチ(20171117)Rails開発3年分のコツ集大成、PostgreSQL 10.1でセキュリティ問題修正ほか|TechRacho by BPS株式会社

                                                          2017.11.17 週刊Railsウォッチ(20171117)Rails開発3年分のコツ集大成、PostgreSQL 10.1でセキュリティ問題修正ほか こんにちは、hachi8833です。Firefox Quantumで泣きましたか?私は拡張使ってませんでした。 11月中旬のウォッチ、いってみましょう。 Rails: 今週の改修 今週の公式更新情報はありません。 タイムゾーンがあいまいになることがある問題を修正 PR: #31128 Handle TZInfo::AmbiguousTime errors # 修正前 "2014-10-26 01:00:00".in_time_zone("Moscow") #=> TZInfo::AmbiguousTime: 26/10/2014 01:00 is an ambiguous local time. # 修正後 "2014-10-26 01

                                                            週刊Railsウォッチ(20171117)Rails開発3年分のコツ集大成、PostgreSQL 10.1でセキュリティ問題修正ほか|TechRacho by BPS株式会社
                                                          • YJIT: CRuby向けの新しいJITコンパイラを構築する(翻訳)|TechRacho by BPS株式会社

                                                            概要 Shopify Engineeringの許諾を得て翻訳・公開いたします。本記事は公開前にShopify Engineeringにレビューをいただいています。 英語記事: YJIT: Building a New JIT Compiler for CRuby — Development (2021) 原文公開日: 2021/10/14 原著者: Maxime Chevalier サイト: Shopify Engineering 画像は元記事のものです(追記2021/11/04: 冒頭イラストを削除いたしました)。 本記事はTwitterにて@shiroemonsshiromemonsさまからのリクエストを受けて翻訳いたしました。リクエストありがとうございます! なお、以下のissue #18229で、著者のMaxime Chevalierさんをコミッターに迎えるプロポーザルが出され、そ

                                                              YJIT: CRuby向けの新しいJITコンパイラを構築する(翻訳)|TechRacho by BPS株式会社
                                                            • かRuby 2.6のJITで実装か検討を行なった最適化集 - Qiita

                                                              これは言語実装 Advent Calendar 2018の25日目の記事です。 今日2018年12月25日は、Rubyに初めてJITコンパイラが搭載されたRuby 2.6のリリース日です。めでたい!! 進捗はRuby 2.6 JIT - Progress and Futureに書いてある通りですが、ハイライトとしては、CPU計算負荷の高いOptcarrotというNESエミューレータのベンチマークで、以下のような性能向上を達成しました。 Optcarrot Lan_Master.nes 2.6.0+JIT: 86.6 fps 2.6.0: 54.6 fps - 1.59x slower 2.5.3: 48.5 fps - 1.78x slower 2.0.0: 34.6 fps - 2.50x slower Ruby 2.6では、JITを有効にしなくても2.5に比較してそこそこ速くなっていま

                                                                かRuby 2.6のJITで実装か検討を行なった最適化集 - Qiita
                                                              • Ruby 3.0.0 Released

                                                                Posted by naruse on 25 Dec 2020 We are pleased to announce the release of Ruby 3.0.0. From 2015 we developed hard toward Ruby 3, whose goal is performance, concurrency, and Typing. Especially about performance, Matz stated “Ruby3 will be 3 times faster than Ruby2” a.k.a. Ruby 3x3. With Optcarrot benchmark, which measures single thread performance based on NES’s game emulation workload, it achieved

                                                                • 週刊Railsウォッチ(20190401-1/2前編)Rails 5.2.3/5.1.7がリリース、Railsdmの「Railsの正体」、Ruby 2.7のnumbered parameter、新元号「令和」ほか|TechRacho by BPS株式会社

                                                                  2019.04.01 週刊Railsウォッチ(20190401-1/2前編)Rails 5.2.3/5.1.7がリリース、Railsdmの「Railsの正体」、Ruby 2.7のnumbered parameter、新元号「令和」ほか こんにちは、hachi8833です。新元号が本日発表されたので早速単語登録しました。どことなくゼロサムっぽい響きを感じてしまいます。 参考: ゼロ和 - Wikipedia -- 「れいわ」ではありませんが 追記(2019/04/01): 早速wareki gemが対応していました。 commit: Add new era. · sugi/wareki@7a5819e # lib/wareki/era_def.rb#23 - Era.new("平成", 1989, 2447535, DAY_MAX), + Era.new("平成", 1989, 244753

                                                                    週刊Railsウォッチ(20190401-1/2前編)Rails 5.2.3/5.1.7がリリース、Railsdmの「Railsの正体」、Ruby 2.7のnumbered parameter、新元号「令和」ほか|TechRacho by BPS株式会社
                                                                  • 仕事用の MacBook Pro を新しくした 2022 - HsbtDiary(2022-01-28)

                                                                    ■ 仕事用の MacBook Pro を新しくした 2022 去年の 仕事用の MacBook Pro を新しくした - HsbtDiary(2021-01-18) から 1年しか経ってないのですが、M1 な MacBook Pro が 2021/11 に発売したので交換した。M1 の MacBook Pro、すぐ発注をかけたものの全然納品されなくて 2 ヶ月たってやっと納品された。 Apple に確認したわけではないですが、調達先などの情報をあわせるとメモリ、ストレージをカスタマイズすると納期がガッと増えるそうです。なので、そこまでこだわりがなければ直販モデルにするのが良さそう。 以下、会社指定の初期セットアップが終わった後に、個人のセットアップでやったことです。 Magic Keyboard, Magic Trackpad 2 を接続、指紋認証を有効化 英語メニューにして再起動 トラッ

                                                                    • RubyKaigi 2018 に参加してきた

                                                                      なんだ RubyKaigi 2018 に参加してきた。 毎日飲み歩いたり牛タンを食べたりするためだけに行ったわけではないので、聞いた講演についてのメモを書いておく 1日目 Matz keynote ことわざをテーマにして話が進んでいった 「名は体を表す」からの `Object#then` の流れが鉄板すぎて笑ったw アーロン Analyzing and Reducing Ruby Memory Usage アーロンの発表は、いつも自分の仕事の中で見つけた問題点について真面目に計測、調査を行って、根本的な原因までたどり着いてパッチを書くという事をしていて、本当にすごい。尊敬している 自分で書いたパッチと同じ内容が5年前にポストされていたのを見つけて、そちらをマージしたという落ちには笑ったけど、冷静に考えてみると、それはすごい事だぞという感じだった joker & moris Hijackin

                                                                        RubyKaigi 2018 に参加してきた
                                                                      • 新しいRubyパーサーPrism利用時の開発体験の変化

                                                                        この記事で扱っていること 本記事ではRuby 3.3で導入されたPrismという新しいパーサーについて扱っています Prismが持つ「パース時に問題が発生した場合でも可能な限り意味のある結果を返却する」という機能に着目して下記について話します Rubyを記述する際の開発者体験がどれくらい向上しているのか? 「可能な限り意味のある結果」をどうやって組み立てているのか? 最後に主テーマから外れますが、Prismの動かし方についても話しています はじめに こんにちはウォンテッドリーで推薦基盤の改善をやっているnasaです 去年の12/25にもRubyの最新バージョンがサンタさんから届きました。https://www.ruby-lang.org/ja/news/2023/12/25/ruby-3-3-0-released/ 最新バージョンのRuby 3.3.0ではPrismという新しいパーサーが導

                                                                          新しいRubyパーサーPrism利用時の開発体験の変化
                                                                        • GitHub - oracle/truffleruby: A high performance implementation of the Ruby programming language, built on GraalVM.

                                                                          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 - oracle/truffleruby: A high performance implementation of the Ruby programming language, built on GraalVM.
                                                                          • Ruby Next: Make all Rubies quack alike—Martian Chronicles, Evil Martians’ team blog

                                                                            If you’re interested in translating or adapting this post, please contact us first. Meet Ruby Next, the first transpiler for Ruby that allows you to use the latest language features, including experimental ones, today—without the stress of a project-wide version upgrade. Read the story behind the gem, discover its inner workings, and see how it can help push Ruby into the future. These days, Ruby

                                                                              Ruby Next: Make all Rubies quack alike—Martian Chronicles, Evil Martians’ team blog
                                                                            • Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々 - Qiita

                                                                              元記事: Awesome Ruby Ruby 以外の言語, ソフトウェアについては を参照してください. Awesome List in Qiita Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium 抽象化 ActiveInteraction - アプリケーション固有のビジネスロジックを管理します. Cells - Rails のコンポーネントを表示します. Decent Exposure - コントローラに宣言的インタフェースを提供するヘルパー. dry-rb - 共通のタスクをカプセル化するための, 次世代 Ruby ライブラリコレクションです. Interactor - 1回のリクエストで複雑なインタラクションを実行するため

                                                                                Awesome Ruby : 素晴しい Ruby のライブラリ・ツール・フレームワーク・ソフトウェアの数々 - Qiita
                                                                              • The Future Shape of Ruby Objects

                                                                                These are the notes for a talk I gave at RubyKaigi 2021, which is why they’re written as if we were talking and going through some slides and code together. Hello I’m Chris Seaton. I’m a Senior Staff Engineer at Shopify where I’m working on Ruby performance. I’m the founder of TruffleRuby, which is a very highly optimizing implementation of Ruby. I also maintain The Ruby Bibliography at rubybib.or

                                                                                • Rubyにもポータビリティを! シングルバイナリを作る3つの方法

                                                                                  この記事はRuby Advent Calendar 2020の17日目です。 TL;DR GraalVM: 問題無く動作するがgemとか考えるとめんどそう。JavaのエコシステムやJS/Pythonなど別言語と組み合わせたい時には便利。 RubyPacker: gem/bunlder含めて特に問題なく動く。フルスペックRubyが必要なら現状でベスト mruby-cli: ビルド速度含めて最軽量。使えるならこれがベストシナリオ。エコシステムが弱いのが欠点 はじめに 皆さんはRubyをなんに使っていますか? 多くの方は 「Railsを使ったWebアプリケーション」 と回答されるのではないでしょうか? 私の場合は少し違ってCLIのコマンドを作るのによく使います。Bashよりちょっと凝ったことをするのに自分にはちょうど良いんですよね。手に馴染んでるので。 ただ、今この手の用途に一番利用されるのはG

                                                                                    Rubyにもポータビリティを! シングルバイナリを作る3つの方法