Details

    • Type: Improvement Improvement
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: JRuby 1.6.5
    • Fix Version/s: JRuby 1.7.0.pre1
    • Component/s: Core Classes/Modules
    • Labels:
      None
    • 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
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: