ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
From: takashikkbn@gmail.com
To: ruby-core@ruby-lang.org
Subject: [ruby-core:85979] [Ruby trunk Feature#14489] MJIT needs a reusable cache
Date: Wed, 07 Mar 2018 16:26:21 +0000 (UTC)	[thread overview]
Message-ID: <redmine.journal-70846.20180307162621.fac9477f9b8a6b2c@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-14489.20180219011031@ruby-lang.org

Issue #14489 has been updated by k0kubun (Takashi Kokubun).


Yeah, having capability to shut down MJIT worker earlier looks important, especially when it becomes matured and we consider enabling it by default.

It's interesting to know your new project of multi-tier JIT. If inlining takes longer compilation time or consumes larger memory, it would make a lot of sense.

Also I'm very excited to know I'll have opportunity to have a talk with you again. I'll go to RubyKaigi 2018 for sure. Let's discuss about them.

----------------------------------------
Feature #14489: MJIT needs a reusable cache
https://bugs.ruby-lang.org/issues/14489#change-70846

* Author: sam.saffron (Sam Saffron)
* Status: Rejected
* Priority: Normal
* Assignee: k0kubun (Takashi Kokubun)
* Target version: 
----------------------------------------
Currently on Discourse boot I notice a few minutes of jitting every time you boot it:

This is a redacted output: https://gist.github.com/SamSaffron/4e18c2dacf476f1f27275f5b5d7bbb97 

CPU is spinning hard compiling temp file after temp file for **minutes**:

> JIT success (213.1ms): platform_string@/home/sam/.rbenv/versions/master/lib/ruby/gems/2.6.0/gems/bundler-1.16.1/lib/bundler/lazy_specification.rb:18 -> /tmp/_ruby_mjit_p6914u199.c

and so on.

Instead, mjit should have a reusable cache on disk it first tries fetching from prior to re-compiling. It can use an ISEQ SHA1 hash as the key to the cache. 






---Files--------------------------------
14489.patch (29.8 KB)


-- 
https://bugs.ruby-lang.org/

      parent reply	other threads:[~2018-03-07 16:26 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <redmine.issue-14489.20180219011031@ruby-lang.org>
2018-02-19  1:10 ` [ruby-core:85623] [Ruby trunk Feature#14489] MJIT needs a reusable cache sam.saffron
2018-02-19  2:14 ` [ruby-core:85628] " merch-redmine
2018-02-19  2:39   ` [ruby-core:85630] " Eric Wong
2018-02-19 14:14 ` [ruby-core:85649] [Ruby trunk Feature#14489][Feedback] " takashikkbn
2018-02-19 20:51 ` [ruby-core:85655] [Ruby trunk Feature#14489] " sam.saffron
2018-02-20  3:00 ` [ruby-core:85664] " takashikkbn
2018-02-21  6:22 ` [ruby-core:85717] " hsbt
2018-02-24  5:51 ` [ruby-core:85791] [Ruby trunk Feature#14489][Rejected] " takashikkbn
2018-02-24 12:06 ` [ruby-core:85794] [Ruby trunk Feature#14489] " eregontp
2018-02-24 14:20 ` [ruby-core:85797] " takashikkbn
2018-03-07 13:02 ` [ruby-core:85967] " s.wanabe
2018-03-07 13:50 ` [ruby-core:85968] " takashikkbn
2018-03-07 15:11   ` [ruby-core:85972] " Vladimir Makarov
2018-03-07 16:26 ` takashikkbn [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.ruby-lang.org/en/community/mailing-lists/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=redmine.journal-70846.20180307162621.fac9477f9b8a6b2c@ruby-lang.org \
    --to=ruby-core@ruby-lang.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).