Details

    • Patch Submitted:
      Yes
    • Number of attachments :
      1

      Description

      Hi!

      While profiling our Ruboto app, we noticed a performance regression in startup after upgrading JRuby from 1.6.4 to 1.6.5/1.7.0.dev. Profiling revealed lots of time lost in File.file? calls when the load path includes jar files.

      I have attached a patch that adds a cache for looking up the contents of jars. This reduces the strain on the file system considerably.

      All tests run fine after the patch.

        Activity

        Hide
        Uwe Kubosch added a comment - - edited

        I expanded the patch to include use of the existing jar file cache.

        This shaved 70% off our startup time.

        Please have a look.

        Show
        Uwe Kubosch added a comment - - edited I expanded the patch to include use of the existing jar file cache. This shaved 70% off our startup time. Please have a look.
        Hide
        Uwe Kubosch added a comment -

        Added a new patch without the new cache, just using the existing jar file cache.

        It performs as good as the previous patches, but is simpler. I will delete the other patches.

        Show
        Uwe Kubosch added a comment - Added a new patch without the new cache, just using the existing jar file cache. It performs as good as the previous patches, but is simpler. I will delete the other patches.
        Hide
        Charles Oliver Nutter added a comment -

        Applied to master in 126a30c. Thank you!

        Show
        Charles Oliver Nutter added a comment - Applied to master in 126a30c. Thank you!

          People

          • Assignee:
            Charles Oliver Nutter
            Reporter:
            Uwe Kubosch

            Dates

            • Created:
              Updated:
              Resolved: