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

Switch to latest toolchain #67

Merged
merged 2 commits into from
Mar 21, 2022
Merged

Switch to latest toolchain #67

merged 2 commits into from
Mar 21, 2022

Conversation

mactcp
Copy link

@mactcp mactcp commented Mar 19, 2022

I've switched to the latest toolchain. It works great, the read speed was unchanged. The newer compiler is producing slightly better code for writing (readDataLoop function), and with a slight adjustment to the timing, that is benchmarking a fraction faster.

I got these benchmark results:
LC III+: Read 1234 KB/sec, write 861 KB/sec (was 848 KB/sec with old toolchain)
Quadra 650: Read 1143 KB/sec, write 1162 KB/sec (was 950 KB/sec)
PowerMac 7100/80: Read 1266 KB/sec, write 1273 KB/sec (was 1253 KB/sec)
PowerMac G3/266: Read 1273 KB/sec, write 1307 KB/sec (was 1286 KB/sec)

Tune the timing for the readDataLoop with the latest toolchain.
@mactcp
Copy link
Author

mactcp commented Mar 19, 2022

I noticed a regression in write speed when a change moved the readDataLoop function from 16 byte aligned to 8 byte aligned, so I've forced it to be 16 byte aligned.

I'll check and make sure the writeDataLoop isn't also sensitive to 16 byte alignment.

@mactcp
Copy link
Author

mactcp commented Mar 19, 2022

writeDataLoop isn't sensitive to 16 byte alignment, so this is good to go.

@erichelgeson
Copy link
Owner

Thanks!

@erichelgeson erichelgeson merged commit 32219ce into erichelgeson:main Mar 21, 2022
@erichelgeson
Copy link
Owner

erichelgeson commented Mar 24, 2022

It looks like taking the pin off still defaults to toolchain-gccarmnoneeabi 1.60301.0 (6.3.1) https://github.com/erichelgeson/BlueSCSI/runs/5613341596?check_suite_focus=true#step:8:27

Locally for me since I had 1.90301.200702 installed it chose that - which was slower compared to 1.60301.0.

@mactcp which toolchain did yours run locally? We should pin it to that explicitly.

Versions: https://registry.platformio.org/tools/platformio/toolchain-gccarmnoneeabi/versions

@mactcp
Copy link
Author

mactcp commented Mar 24, 2022

@erichelgeson I'm using 1.90301.200702

@erichelgeson
Copy link
Owner

Got it - was a build issue on my side with something cached - a full clean and rebuild I see the same results as you now. I'm going to push up an explicit pin to avoid any build oddities.

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.

2 participants