-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
chore: Add 'perf' feature flag on regex crate #11239
Conversation
✔️ Deploy Preview for vector-project canceled. 🔨 Explore the source changes: 06662f4 🔍 Inspect the deploy log: https://app.netlify.com/sites/vector-project/deploys/6201f184dad08d00075b563e |
Soak Test ResultsBaseline: 2e19f61 ExplanationA soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core. The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed. No interesting changes with confidence ≥ 90.00%: Fine details of change detection per experiment.
Fine details of each soak run.
|
Our grok crate is unusual. We use regex in certain places like date parsing and onig when dealing with the grok patterns themselves. Work on #11206 strongly suggests that if sinks are allowed to run less subject to slow receiver issue then `apply_date_filter` is a CPU hotspot. As suggested by @tobz we enable the 'perf' flags to the regex crate, which features heavily in the implementation of that function. Signed-off-by: Brian L. Troutwine <brian@troutwine.us>
9d0ecc9
to
06662f4
Compare
Soak Test ResultsBaseline: 1bd5526 ExplanationA soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core. The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed. No interesting changes with confidence ≥ 90.00%: Fine details of change detection per experiment.
Fine details of each soak run.
|
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.
I'm curious why we have two different versions specified but...
Technically we don't, thanks to the "1" being a very, very lax constraint. That crate is declared to support any version of regex from "1.0" on forward, so when the resolver hits our more explicit "1.5" the project runs "1.5". We should probably not allow dependencies that don't specify major and minor but I don't think it's properly bit us in the past. |
Yeah - sorry, didn't mean using two different versions but more why they both didn't specify into the minor version |
Ah, fair, fair. I assumed considering how prevalent that pattern is in the VRL sub-project that there's a reason for it. It'd be worth floating specifying minor versions at least everywhere and see how folks take it. |
Our grok crate is unusual. We use regex in certain places like date parsing and
onig when dealing with the grok patterns themselves. Work on #11206 strongly
suggests that if sinks are allowed to run less subject to slow receiver issue
then
apply_date_filter
is a CPU hotspot. As suggested by @tobz we enable the'perf' flags to the regex crate, which features heavily in the implementation of
that function.
REF #10144
Signed-off-by: Brian L. Troutwine brian@troutwine.us