-
Notifications
You must be signed in to change notification settings - Fork 24k
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
addReplyHumanLongDouble has a large overhead/weight on GEOPOS command performance #11565
Comments
found the PR (#3101) thought it might have some details 😞 |
i think that what Itamar was after is the "human" part (using |
Exactly, and the fact that our geohash isn't precise enough to justify so many digits. I remember doing this when I suggested the change: addReplyDouble:
addReplyHumanLongDouble
|
looking at this again, considering the performance difference, i wonder how important the human concern is, and maybe we can set it aside. |
… and geoposCommand (#13494) # Summary - Addresses #11565 - Measured improvements of 30% and 37% on the simple use-case (GEOSEARCH and GEOPOS) (check #13494 (comment)), and of 66% on a dataset with >60M datapoints and pipeline 10 benchmark.
This was addressed in PR #13494 and is already part of https://github.com/redis/redis/releases/tag/8.0-m01 |
Profiling GEOPOS command we see that addReplyHumanLongDouble takes 62.36% of the total CPU cycles of the process:
In the past we've optimized addReplyDouble in #10587 .
Wanted to open this issue and discuss with @itamarhaber / @oranagra why we're using
long double
input for 2double
:@itamarhaber I wanted to double check with you given the last change made on that geopos line was 7 years ago and exacly changing for double to long double reply "Eliminates engineers near the equator & prime meridian" :
b5149f0
Do you remember exactly why we need the long double? Or can we move to a double reply?
To reproduce:
Use the following RDB with 60M datapoints on the GEO key. https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb
The text was updated successfully, but these errors were encountered: