Introduce faster approximate sinh/atan math functions#49009
Merged
talevy merged 3 commits intoelastic:masterfrom Nov 14, 2019
Merged
Introduce faster approximate sinh/atan math functions#49009talevy merged 3 commits intoelastic:masterfrom
talevy merged 3 commits intoelastic:masterfrom
Conversation
This commit introduces a new class called ESSloppyMath that is meant to reflect the purpose of Lucene's SloppyMath, but add additional unimplemented faster alternatives to math functions. The two that are used by geotile-grid a lot are sinh/atan. In a quick elasticsearch rally benchmark for geotile-grid on Switzerland data points, this shows a (1.22x) 22% speed-up over using Math's functions. closes elastic#41166.
Collaborator
|
Pinging @elastic/es-analytics-geo (:Analytics/Geo) |
iverase
approved these changes
Nov 12, 2019
Contributor
iverase
left a comment
There was a problem hiding this comment.
LGTM
I wonder if we should port as well the function for exp and expm1 but that can be done in a follow up PR.
Contributor
Author
|
thanks Ignacio. I wondered the same about |
Contributor
|
Sounds like a good plan to me |
imotov
approved these changes
Nov 13, 2019
Contributor
imotov
left a comment
There was a problem hiding this comment.
LGTM2. Except I am not 100% about the header treatment here.
Contributor
Author
|
@elasticmachine update branch |
talevy
added a commit
that referenced
this pull request
Nov 14, 2019
This commit introduces a new class called ESSloppyMath that is meant to reflect the purpose of Lucene's SloppyMath, but add additional unimplemented faster alternatives to math functions. The two that are used by geotile-grid a lot are sinh/atan. In a quick elasticsearch rally benchmark for geotile-grid on Switzerland data points, this shows a (1.22x) 22% speed-up over using Math's functions. closes #41166.
talevy
added a commit
to talevy/elasticsearch
that referenced
this pull request
Nov 14, 2019
this resolves incorrectly licensed code in elastic#49009. ESSloppyMath is removed in favor of preserving as much of the original FastMath as possible. Since no additional methods are introduced in ESSloppyMath, this abstraction is removed.
talevy
added a commit
that referenced
this pull request
Nov 21, 2019
this resolves incorrectly licensed code in #49009. ESSloppyMath is made as a wrapper around FastMath.java which is not meant to be modified with code beyond the original source
talevy
added a commit
that referenced
this pull request
Nov 21, 2019
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This commit introduces a new class called ESSloppyMath
that is meant to reflect the purpose of Lucene's SloppyMath,
but add additional unimplemented faster alternatives to math functions.
The two that are used by geotile-grid a lot are sinh/atan. This commit also
switches that implementation to use these new functions.
In a quick elasticsearch rally benchmark for geotile-grid on Switzerland
data points, this shows a (1.22x) 22% speed-up over using Math's functions.
closes #41166.