Skip to content

File set membership - #48

Draft
nginocchio wants to merge 3 commits into
AFM-analysis:masterfrom
nginocchio:file-set-membership
Draft

File set membership#48
nginocchio wants to merge 3 commits into
AFM-analysis:masterfrom
nginocchio:file-set-membership

Conversation

@nginocchio

Copy link
Copy Markdown

Hello,
This pull request is an attempt to address #41 by utilizing a hash set for detecting file membership primarily in get_index_segment_path. The profile which @bicarlsen uploaded showed that JPKReader.get_index_segment_path was a significant portion of load_data's compute time. This is primarily because when called from get_index_segment_numbers for every index and segment pair, a path which doesn't exist is linearly searched through the entirety of an archive's files.
By utilizing a set to search for this file this can be accomplished in constant time.

I also created a helper function to initially cache an index's header properties so for every segment the properties can be copied from.

These two changes reduced the overall runtime of loading bicarlsen's sample data from about ~40 minutes to 4 minutes on my machine.

Please let me know if you have any questions in regards to this approach, or if there is something I missed.
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant