-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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 SKEWNESS and KURTOSIS aggregates #10021
Conversation
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.
- Can we also add
SKEWSAMP/KURTOSISSAMP
if it's just the matter of dividing byn-1
? - Can we add the test to merge
<EmptyFourthMoment, NonemptyFourthMoment>
and<NonemptyFourthMoment, EmptyFourthMoment>
? I made a mistake on this when I worked on VAR/STDDEV - Can we run the quick benchmarking of the performance of doing standalone
FourthMoment
vs extendingFourthMoment
from Apache?
Codecov Report
@@ Coverage Diff @@
## master #10021 +/- ##
============================================
- Coverage 68.67% 60.99% -7.69%
+ Complexity 5653 5545 -108
============================================
Files 1991 1982 -9
Lines 107251 107109 -142
Branches 16302 16292 -10
============================================
- Hits 73654 65330 -8324
- Misses 28382 36942 +8560
+ Partials 5215 4837 -378
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
I checked whether this is common or not, and it seems that sample skew/sample kurtosis aren't really used (e.g. presto doesn't define those two functions) so I'll go ahead and just rename the functions |
I won't inline - benchmark results from inlining everything:
|
@agavra Is Serde failing due to our change?
|
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.
Only minor comments. LGTM! Thank you for adding this super quickly 👍
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
|
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.
remove line?
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
|
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.
remove line :)
|
||
|
||
/** | ||
* A {@link Comparable} implementation of |
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.
Can you add the descriptions? e.g. which algorithm/library that we are depending on etc
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.
oops! I was in the middle of writing it (clearly) and then forgot all about it...
ah yes... JDK8 doesn't infer properly for anonymous classes 😢 |
@agavra Thank you for the quick turnaround on this! |
See commit message 😄 - uses the apache commons implementation as the internal format, if we are worried about performance we can copy the code inline but that would add a lot of error-prone mathematical code.