並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 15 件 / 15件

新着順 人気順

mjitの検索結果1 - 15 件 / 15件

  • VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 - k0kubun's blog

    先日のRubyKaigi 2017のLTではLLVMベースのCRuby向けJITコンパイラLLRBの話をしました。 5分はちょっとJITの話をするには短かかったですね。 LLRBをふまえた、Cのコード生成への軌道修正 さて、上記の資料にある通り、CRubyのJITにおいてはメインの高速化対象が既に存在するCのコードになるため、 開発の早い段階でパフォーマンスにインパクトを持てるとすればLLVM Passの順番を変えるくらいで、 LLVM IRを直接生成しても最適化上のメリットがほとんどないのでその部分はMJIT と同じくCのコードを生成するように変更したい、という話をした*1。 で、LLRBはC拡張として作るべくちょっと不思議な努力をいろいろやっており、 それらの設計はやってみた結果(コアに直接変更を加えるのに比べ)デメリットの方が大きいと思ったので、 LLRBの失敗を全て生かしつつ、今回

      VMに手を加えずRubyを高速化するJITコンパイラ「YARV-MJIT」の話 - k0kubun's blog
    • MJIT で dlopen 使わずに ELF オブジェクトを直接ロードする話 - 兼雑記

      MJIT というのが Ruby に入ったのは聞いていて、すごいことするな、と思ってたんですが、実際に Ruby Kaigi で話を聞けて少し遊んでみたくなったのでした。そういえば https://turingcomplete.fm/5 の時に「MJITについてどう思うか聞いておいて下さい」とかリクエストしておいたのに聞いてくれなかったのであった。 https://k0kubun.hatenablog.com/entry/ruby26-jit すごいことするな、と思ったのはその手法で、 C 生成して dlopen という、よく雑談とかで言う話ではあるけど、実際広く使われる用途で使われたのは見たことが無かった(ICFPCとかでは見たことがある)ので、すごいなと。 一方で、 dlopen たくさんすると、いくつかの意味でオーバヘッドがかかると思われるため、あとでマイクロベンチに出ないところで大変

        MJIT で dlopen 使わずに ELF オブジェクトを直接ロードする話 - 兼雑記
      • Rubyの新しいJIT「MJIT」で早速遊んでみた(翻訳)|TechRacho by BPS株式会社

        概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Playing with ruby's new JIT: MJIT 原文公開: 2018/02 著者: John Hawthorn 画像は英語記事からの引用です。 Just-in-timeは幻想である: Albert Einstein (元ネタ: Time is an illusion) 今週、Takashi Kokubun (@k0kubun)がMRI Rubyに最初の実装をmergeしました。 I've just committed the initial JIT compiler for Ruby. It's not still so fast yet (especially it's performing badly with Rails for now), but we have much time to improve

          Rubyの新しいJIT「MJIT」で早速遊んでみた(翻訳)|TechRacho by BPS株式会社
        • MJIT: A Method Based Just-in-time Compiler for Ruby

          Resources What is Heroku? Help Customers Careers Events Podcasts Compliance Center Heroku is for Developers CTOs Team Collaboration Startups Enterprises Agencies Students See More Languages Node Ruby Java PHP Python Go Scala Clojure See More Latest News from the Heroku Blog Heroku Blog Find out what's new with Heroku on our blog. More news View all blog posts I sat down with some Ruby friends in H

            MJIT: A Method Based Just-in-time Compiler for Ruby
          • Benchmarking CRuby, MJIT, YJIT, JRuby and TruffleRuby

            Benchmarking CRuby, MJIT, YJIT, JRuby and TruffleRuby In this blog post we benchmark many Ruby versions and the latest Ruby Just-in-Time compilers (JITs) on the newest Ruby benchmark suite, yjit-bench. As a teaser, the geometric mean speedups compared to CRuby 3.1 on these 14 benchmarks are: MJIT 1.26x, YJIT 1.39x, JRuby 1.86x and TruffleRuby 6.23x. Read on to find more about the benchmarks and ga

              Benchmarking CRuby, MJIT, YJIT, JRuby and TruffleRuby
            • Towards Ruby3x3 Performance - Introducing RTL and MJIT

              Towards Ruby3x3 Performance Introducing RTL and MJIT Vladimir Makarov Red Hat September 21, 2017 Vladimir Makarov (Red Hat) Towards Ruby3x3 Performance September 21, 2017 1 / 30 About Myself Red Hat, Toronto office, Canada Tools group (GCC, Glibc, LLVM, Rust, Go, OpenMP) I part of a bigger platform enablement team (porting Linux kernel to new hardware) 20 years of work on GCC 2 years of work on MR

              • Merge MJIT infrastructure with conservative JIT compiler by k0kubun · Pull Request #1782 · ruby/ruby

                https://bugs.ruby-lang.org/issues/14235 Background In Feature#12589, Vladimir Makarov proposed to improve VM performance by replacing VM instructions to RTL and introduce method JIT compiler based on those instructions. While his approach for JIT (write C code to local file system, let C compiler executable to compile it to shared object file and load it dynamically) was great and proven to work,

                  Merge MJIT infrastructure with conservative JIT compiler by k0kubun · Pull Request #1782 · ruby/ruby
                • GitHub - vnmakarov/ruby at rtl_mjit_branch

                  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 - vnmakarov/ruby at rtl_mjit_branch
                  • Playing with ruby's new JIT: MJIT - John Hawthorn

                    Just-in-time is an illusion. Albert Einstein This week, Takashi Kokubun (@k0kubun) merged the first implementation of a JIT compiler in MRI ruby. k0kubun @k0kubun I've just committed the initial JIT compiler for Ruby. It's not still so fast yet (especially it's performing badly with Rails for now), but we have much time to improve it until Ruby 2.6 (or 3.0) release. github.com/ruby/ruby/commit/ed9

                    • 週刊Railsウォッチ(20180209)RubyにMJIT初マージ、高速JSON API gem、Railsにparallel-testingブランチほか|TechRacho by BPS株式会社

                      2018.02.09 週刊Railsウォッチ(20180209)RubyにMJIT初マージ、高速JSON API gem、Railsにparallel-testingブランチほか こんにちは、hachi8833です。MacPaintとQuickDrawのソースコードが公開されていることに気づいたのでミーハー的にダウンロードしてみました。コードがびっくりするほど少ない... 臨時ニュース 祝MJIT初マージ🎉🎂🍣 I've just committed the initial JIT compiler for Ruby. It's not still so fast yet (especially it's performing badly with Rails for now), but we have much time to improve it until Ruby 2.6 (

                        週刊Railsウォッチ(20180209)RubyにMJIT初マージ、高速JSON API gem、Railsにparallel-testingブランチほか|TechRacho by BPS株式会社
                      • mjit.c: merge MJIT infrastructure · ruby/ruby@fd44a57

                        that allows to JIT-compile Ruby methods by generating C code and using C compiler. See the first comment of mjit.c to know what this file does. mjit.c is authored by Vladimir Makarov <vmakarov@redhat.com>. After he invented great method JIT infrastructure for MRI as MJIT, Lars Kanis <lars@greiz-reinsdorf.de> sent the patch to support MinGW in MJIT. In addition to merging it, I ported pthread to Wi

                          mjit.c: merge MJIT infrastructure · ruby/ruby@fd44a57
                        • 【追記あり】Travis CIでMJITを有効にしたビルドマトリクスを作る - くりにっき

                          何番煎じか分からないけど自分用メモ tl;dr; 実行結果 2019/6/19 追記 tl;dr; .travis.yml に下記のようなものを書くだけ script: - RUBYOPT=$RSPEC_RUBYOPT bundle exec rspec matrix: include: - rvm: 2.6 env: RSPEC_RUBYOPT="--jit" - rvm: ruby-head env: RSPEC_RUBYOPT="--jit" 実行結果 https://travis-ci.org/sue445/rubicure/builds/473290010 ビルドスクリプト内で RUBYOPT="--jit" bundle exec rspec とかしてもいいんですが、それだとビルドがコケた時にJIT起因の問題なのかそうじゃないのかが分かりづらくなるのでこっちを推奨です。 あと、

                            【追記あり】Travis CIでMJITを有効にしたビルドマトリクスを作る - くりにっき
                          • mjit_compile.c: merge initial JIT compiler · ruby/ruby@ed935aa

                            which has been developed by Takashi Kokubun <takashikkbn@gmail> as YARV-MJIT. Many of its bugs are fixed by wanabe <s.wanabe@gmail.com>. This JIT compiler is designed to be a safe migration path to introduce JIT compiler to MRI. So this commit does not include any bytecode changes or dynamic instruction modifications, which are done in original MJIT. This commit even strips off some aggressive opt

                              mjit_compile.c: merge initial JIT compiler · ruby/ruby@ed935aa
                            • Bug #14496: MJIT, Windows, MinGW and tmp dir - Ruby master - Ruby Issue Tracking System

                              For the time being, I've shut off testing MJIT on ruby-loco, as (at least when I did so) tests seemed to be timing out. As mentioned earlier in https://bugs.ruby-lang.org/issues/14464, when I try to test locally, I have a temp folder issue, as my standard user name has a space, and the temp folder used is /Users/user name/AppData/Local/temp. This causes issues when building/compiling with MJIT. I

                              • ゆうとmjitのブログ

                                雨でジメジメしますが、気持ちを張っていきたいですね。 恒例のよくある誤読です。ではいってみましょう! 今日の誤読 - Part 1 アフィリエイト 「アフェリエイト」は誤読。affiliate。加入すること。提携すること。 今日の誤読 - Part 2 天上天下(てんじょうてんげ) 「てんじょうてんか」は誤読。「卑下(ひげ)」「無下(むげ)」など。 今日の誤読 - Part 3 必須(ひっしゅ) 「ひっす」。これは慣用読みであり、本来は「ひっしゅ」。「ひっすう」とも読む。 読み間違いが日本にはたくさんありますね。 http://yaplog.jp/mpvoih5j/ 今は、曇っていますが、暫くすれば晴れるようです。 今日の言葉の読み間違いをご紹介します。 今日の誤読 - Part 1 御中(おんちゅう) 「ごちゅう」は誤読。個人あてでない郵便物を出す時、そのあて名の下に添える語。 今日の誤

                                1