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

Index performance tracking issue #713

Closed
4 of 8 tasks
casey opened this issue Oct 26, 2022 · 4 comments
Closed
4 of 8 tasks

Index performance tracking issue #713

casey opened this issue Oct 26, 2022 · 4 comments

Comments

@casey
Copy link
Collaborator

casey commented Oct 26, 2022

Full sync times on ordinals.com from block 0 to 758607:

date sync time change commit
2022-10-14 28 hours 11 minutes initial benchmark
2022-10-15 27 hours 03 minutes switched to two-phase commit
2022-10-26 17 hours 30 minutes added caching updater, faster rarity check
2022-10-28 12 hours 15 minutes fetch blocks in background
2022-10-31 11 hours 33 minutes speed up epoch construction
2022-11-21 15 hours 50 minutes performance regression 3916d4b
2022-11-22 15 hours 23 minutes track commit times c25c380
2022-11-23 13 hours 58 minutes non-zeroing redb c3351fe
@casey casey mentioned this issue Oct 26, 2022
8 tasks
@casey
Copy link
Collaborator Author

casey commented Oct 29, 2022

Just tried the loop version of the rarity check, and it was 11 hours 55 minutes, so a little faster, but not a ton. I'm trying again with the fully unrolled version.

@casey
Copy link
Collaborator Author

casey commented Oct 30, 2022

Fully unrolled version was 11 hours 54 minutes, so not a huge improvement, and probably not worth the loss in clarity.

@casey
Copy link
Collaborator Author

casey commented Oct 31, 2022

This version was slower, 12 hours 50 minutes:

  fn from(ordinal: Ordinal) -> Self {
    for (epoch, starting_ordinal) in Self::STARTING_ORDINALS.into_iter().enumerate().skip(1) {
      if starting_ordinal > ordinal {
        return Epoch(epoch as u64 - 1);
      }
    }
    Epoch(Self::STARTING_ORDINALS.len() as u64 - 1)
  }

@casey
Copy link
Collaborator Author

casey commented Nov 24, 2022

Moved sync times to the wiki: https://github.com/casey/ord/wiki

Closing, since we don't really need to worry about full index sync time for now.

@casey casey closed this as completed Nov 24, 2022
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

No branches or pull requests

1 participant