SDCard speedup : don't re-calculate CRC table, allow faster SPI data rate #23
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.
Tested on a pyportal, with CircuitPython 5.0.0 alpha 4.
My ad-hoc benchmark is 20 refresh of the screen, with a 64x64 OnDiskBitmap on the SDCard.
Original adafruit_sdcard.py takes 19 s.
By removing the CRC table re-calculation, we are down to 1s.
Maxing the data rate at 24Mhz makes it 0.7s.
Other changes involve reading status bytes first before testing them. It's marginally faster, and more correct on line 257 where it was not initialized.