-
Notifications
You must be signed in to change notification settings - Fork 8
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
rust: opt 3 #63
rust: opt 3 #63
Conversation
Map
Priority queue
MoVM
Basic DAO
DIP721 NFT
Heartbeat
Timer
Publisher & Subscriber
|
Collection librariesMeasure different collection libraries written in both Motoko and Rust. We use the same random number generator with fixed seed to ensure that all collections contain
💎 Takeaways
Map
Priority queue
MoVM
Sample DappsMeasure the performance of some typical dapps:
Basic DAO
DIP721 NFT
Heartbeat / TimerMeasure the cost of empty heartbeat and timer job.
Heartbeat
Timer
Publisher & SubscriberMeasure the cost of inter-canister calls from the Publisher & Subscriber example.
|
@@ -18,7 +18,7 @@ members = [ | |||
debug = false | |||
panic = "abort" | |||
lto = true | |||
opt-level = 2 | |||
opt-level = 3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These numbers are very promising, maybe we should switch to using -O3
for the RTS too. @luc-blaeser did you ever try this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not yet. I can try this and measure with the GC benchmark...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Surprisingly, -O2 is even better than -O3, see #62
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Confirmed from #66, the default release profile is already using -O3, the gain here purely comes from LTO.
No description provided.