-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Improve dudect test with cropped time analysis #280
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.
Check https://aeb.win.tue.nl/linux/lk/lk-8.html carefully:
Don't put the bullets. Instead, use complete sentences.
dudect/fixture.c
Outdated
@@ -74,6 +101,13 @@ static void update_statistics(const int64_t *exec_times, uint8_t *classes) | |||
|
|||
/* do a t-test on the execution time */ | |||
t_push(t, difference, classes[i]); | |||
|
|||
// t-test on cropped execution times, for several cropping thresholds. |
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.
Always use C-style comments.
return *a - *b; | ||
} | ||
|
||
static void prepare_percentiles(int64_t *exec_times, int64_t *percentiles) |
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.
Show mathematical evidences here.
2d9fff7
to
e94f593
Compare
The original dudect collect all execution times and perform t-tests, which may be affected by outliers. The outliers could be caused by context switches, interrupts, or other system activities. This patch introduces percentile-based cropping to remove outliers. The patch adds a new function "prepare_percentiles()" to compute thresholds using an complementary exponential decay scale. The function is called before the test starts. The patch modifies "update_statistics()" to perform t-tests on cropped execution times by filtering out the outliers.
e94f593
to
0c920f9
Compare
The original dudect collect all execution times and perform t-tests,
which may be affected by outliers. The outliers could be caused by
context switches, interrupts, or other system activities. This patch
introduces percentile-based cropping to remove outliers.
The patch adds a new function "prepare_percentiles()" to compute
thresholds using an complementary exponential decay scale. The function
is called before the test starts.
The patch modifies "update_statistics()" to perform t-tests on cropped
execution times by filtering out the outliers.
Change-Id: Ieba005a990b122785ce931fe1364adf81dd9802a