Uploaded image for project: 'Commons Compress'
  1. Commons Compress
  2. COMPRESS-234

Patch: TAR InputStream Huge Speed Improvements

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.6
    • Archivers
    • None

    Description

      I have looked over TarBuffer And TarArchiveInputStream and found some ways to improve performance orders of magnitude.

      I used a 1 GB TAR archive file (no compression).

      Times for reading all entry file names:
      Current - 630ms
      Mine - 17ms

      Times for extracting all entry files:
      Current 2446ms
      Mine - 2214ms

      As you can see, I have enhanced the "skip" methods greatly. Actual extraction was within a margin of error and the timings bounces around a lot.

      Attachments

        1. TarArchiveInputStream.java.patch
          8 kB
          David Mollitor
        2. TarBuffer.java.patch
          8 kB
          David Mollitor
        3. Archiver_Tar.patch
          21 kB
          David Mollitor
        4. Archiver_Tar.2.patch
          24 kB
          David Mollitor
        5. Archiver_Tar.3.patch
          24 kB
          David Mollitor
        6. TarArchiveInputStream.java.final.patch
          12 kB
          David Mollitor

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            belugabehr David Mollitor
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment