issues
search
mlabs-haskell
/
seabug-contracts
3
stars
1
forks
source link
Improve NFT listing performance
#12
Closed
rynoV
closed
2 years ago
rynoV
commented
2 years ago
Resolves #11
[x] Batch datum fetching
See
https://github.com/mlabs-haskell/seabug-contracts/pull/12/commits/37aa71b7bac7c5b5a21b5b242d9ace447eb3f05f
[x] Parellelize metadata fetching
See
https://github.com/mlabs-haskell/seabug-contracts/pull/12/commits/46b6ff23d8b6dfa8c12010c5b0273140778f42d6
[x] Need to consider that the blockfrost api rate limiting might be hit
If we're just doing a POC with <500 images it should be fine for now
Added some basic handling, but if we get to the point of hitting the limitting we should probably refactor to use something like pagination
See
https://github.com/mlabs-haskell/seabug-contracts/pull/12/commits/dabfb1bb21051aed90a9da7cded24008b81a4580
[x] Remove unnecessary double parsing of blockfrost responses
See
https://github.com/mlabs-haskell/seabug-contracts/pull/12/commits/3a18d29cf5b524699ba6590c56789fa8fdaec714
[x] Test: same NFTs shown on page in same order (no regression)
[x] Speed up utxo fetching
Moved to #14
[x] Don't list all NFTs for the individual item pages
Update: listing all NFTs only happens when the item page is opened directly (not through the home page), or it is reloaded
See #16
[x] Implement pagination
Moved to #15
Times to load page:
Original time to show images: ~55 seconds
After batching datum fetching: ~40 seconds
After parallelizing metadata fetching + batching datum fetching: ~20 seconds
Today (July 7th)
utxosAt
was faster, only ~5 seconds, page load was ~10 seconds
Today (July 8th)
utxosAt
was back to ~15 seconds
Resolves #11
Times to load page:
utxosAt
was faster, only ~5 seconds, page load was ~10 secondsutxosAt
was back to ~15 seconds