Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Import Performance #225

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
Open

Conversation

adv12
Copy link

@adv12 adv12 commented Nov 4, 2024

We received a ~45MB ISOXML folder from case that took 54 minutes to import into our application (Ag Leader SMS) using the ISOv4Plugin. This seemed high, so I profiled the plugin and found several inefficiencies.

This PR replaces tree-searching and string comparisons in hot paths with dictionary and array lookups and integer comparisons. It took import time on the folder in question down to < 2min.

The changes diverge slightly from the patterns of LINQ usage seen through most of the code, but I think the performance gains are worth it.

Andrew Vardeman added 2 commits November 1, 2024 15:46
Signed-off-by: Andrew Vardeman <avardeman@agleader.com>
…roperties, simplify their instantiation, and use an array of SpatialValues in ISOSpatialRow for faster lookup

Signed-off-by: Andrew Vardeman <avardeman@agleader.com>
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