This repository was archived by the owner on Sep 11, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 534
Improve packfile reading performance #906
Merged
Merged
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
009f106
plumbing/format/idxfile: add new Index and MemoryIndex
erizocosmico a8ff3e5
Merge pull request #896 from erizocosmico/feature/new-index-decoder
erizocosmico da5677f
plumbing/packfile: add new packfile parser
jfontan ce91d71
plumbing/packfile: disable lookup by offset
jfontan 355cfc3
plumbing: idxfile, add idxfile.Writer with Observer interface
jfontan 4e3765a
plumbing/idxfile: use Entry to hold object data
jfontan 65e8359
plumbing/idxfile: support offset64 generating indexes
jfontan a716126
plumbing/packfile: preallocate memory in PatchDelta
jfontan 7418b41
plumbing/idxfile: fix bug searching in MemoryIndex
jfontan 4ddd678
plumbing/idxfile: add offset/hash mapping to index
jfontan 74f56f3
plumbing/idxfile: index is created only once and retrieved with Index
jfontan 79f2494
plumbing, storage: integrate new index
jfontan a08061a
Merge pull request #898 from jfontan/feature/new-packfile-parser
jfontan ffdfb7d
plumbing: packfile, new Packfile representation
erizocosmico bc565c1
plumbing, packfile: delete index_test as is no longer used
jfontan 4b366ac
plumbing: fix two errors in idxfile and packfile decoder
jfontan 3657a32
storage/filesystem: add back IndexStorage
jfontan b713101
Merge pull request #902 from jfontan/feature/new-packfile-parser
jfontan ccd0fa0
plumbing: packfile, lazy object reads with DiskObjects
erizocosmico 0ade8fb
Merge pull request #899 from erizocosmico/feature/new-packfile
erizocosmico 823abfe
plumbing/idxfile: test FindHash and writer with 64 bit offsets
jfontan 6f8f2ed
storage/filesystem: remove duplicated IndexStorage
jfontan b4cd089
plumbing/packfile: add index generation to decoder
jfontan d314e86
Merge pull request #904 from jfontan/feature/new-packfile-parser
jfontan 6f7fc05
plumbing: packfile, fix package tests
erizocosmico b173cc0
Merge pull request #907 from erizocosmico/feature/fix-tests
erizocosmico 6a24b4c
*: use parser to populate non writable storages and bug fixes
erizocosmico 5889a3b
plumbing: packfile, allow non-seekable sources on Parser
erizocosmico b3d995f
plumbing: packfile, add Parse benchmark
erizocosmico 71a3c91
plumbing: packfile, read object content only once
erizocosmico 34cc506
storage: filesystem, benchmark PackfileIter
erizocosmico 65dc4f9
plumbing: packfile, rename DiskObject to FSObject
erizocosmico 038cf23
storage: filesystem, close Packfile after iterating objects
erizocosmico d93b386
storage: filesystem, add PackfileIter benchmark reading object content
erizocosmico 56c5e91
plumbing: packfile, open and close packfile on FSObject reads
erizocosmico b944bc4
git: add benchmark for iterating repository objects
erizocosmico 8d75d23
plumbing: idxfile, Crc32 to CRC32 and return ok from findHashIndex
erizocosmico File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the previous fanout was 255, was an error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Real fanout size is 256, we were using 255 because the last element is the object count. JGit uses 256 as well https://github.com/eclipse/jgit/blob/6d370d837c5faa7caff2e6e3e4723b887f2fbdca/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackIndexV2.java#L67