-
Notifications
You must be signed in to change notification settings - Fork 82
Improve performance of functions with dynamic arguments #345
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
Merged
Merged
Changes from all commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
d026cd9
Add specialized Vector.translate methods based on argument types
osa1 2ecfbbf
Update 64-bit classes
osa1 6814af2
Formatting
osa1 cdbed22
Add tests
osa1 581aaea
Call typed versions from the dynamic version, inline dynamic version
osa1 f940717
Do the same for leftTranslate, operator *
osa1 e22dead
Do the same for scale
osa1 2973dd6
Add missing inlines
osa1 3077223
Bump version, update changelog
osa1 cdb4a00
Remove multiple returns, add dart2js inlines
osa1 2fd7aab
Move loads uppp
osa1 d6d34e4
Store loads in a local
osa1 2fa9abc
Call double fns
osa1 0ea55e5
Rename return value variables as result, types as Object
osa1 68f5cf9
First round of deprecations
osa1 3881ca6
Update changelog
osa1 cb00e3a
Remove duplicate changelog entry
osa1 3d35062
Edit changelog
osa1 07d49ee
Update docs
osa1 01daccc
Bump major version
osa1 7fb9a02
Revert "Bump major version"
osa1 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
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.
This structure of running each benchmark in turn is susceptible to JIT-effects where the code is initially specialized to the first benchmark, and then de-optimized and recompiled against less constrained inputs.
When this happens, the reported performance is dependent on the order of the benchmarks,
To counter this, I usually create a list of benchmarks, warm them all up, then do the actual measurements.
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.
Let's do it separately. It's going to be a big change to update all of the benchmarks, and it can be done separately.