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

Support approximate trigonometric functions in GeoTileUtils #41166

Closed
talevy opened this issue Apr 12, 2019 · 1 comment · Fixed by #49009
Closed

Support approximate trigonometric functions in GeoTileUtils #41166

talevy opened this issue Apr 12, 2019 · 1 comment · Fixed by #49009
Labels
:Analytics/Aggregations Aggregations :Analytics/Geo Indexing, search aggregations of geo points and shapes >enhancement

Comments

@talevy
Copy link
Contributor

talevy commented Apr 12, 2019

For the initial release of the geotile_grid aggregation, the tiles-lat/lon translations uses
functions like atan(), sinh(), and sin().

org.apache.lucene.util.SloppyMath is used at times when approximate trig functions
using cos/sin tables are sufficient. This issue is open to explore the use of similar
approximate methods and benchmark whether it makes sense to enable the usage
of them within the aggregation to help speed the calculations

@talevy talevy added >enhancement :Analytics/Geo Indexing, search aggregations of geo points and shapes :Analytics/Aggregations Aggregations labels Apr 12, 2019
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-analytics-geo

talevy added a commit to talevy/elasticsearch that referenced this issue Nov 12, 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 elastic#41166.
talevy added a commit that referenced this issue 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 that referenced this issue 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Analytics/Aggregations Aggregations :Analytics/Geo Indexing, search aggregations of geo points and shapes >enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants