-
Notifications
You must be signed in to change notification settings - Fork 13
WIP no-std, no-panic profiling core #1062
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
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1062 +/- ##
==========================================
- Coverage 71.25% 71.23% -0.03%
==========================================
Files 322 334 +12
Lines 49339 50380 +1041
==========================================
+ Hits 35158 35889 +731
- Misses 14181 14491 +310
🚀 New features to boost your workflow:
|
b092bca
to
e373664
Compare
It doesn't have any, but it can fail with messages like: > error: Unrecognized option: 'warm-up-time' If we don't set benches=false
BenchmarksComparisonBenchmark execution time: 2025-05-21 23:05:01 Comparing candidate commit c2618a2 in PR branch Found 12 performance improvements and 0 performance regressions! Performance is the same for 40 metrics, 2 unstable metrics. scenario:credit_card/is_card_number/x371413321323331
scenario:credit_card/is_card_number_no_luhn/x371413321323331
scenario:normalization/normalize_name/normalize_name/bad-name
scenario:normalization/normalize_name/normalize_name/good
scenario:normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...
scenario:normalization/normalize_service/normalize_service/[empty string]
CandidateCandidate benchmark detailsGroup 1
Group 2
Group 3
Group 4
Group 5
Group 6
Group 7
Group 8
Group 9
Group 10
Group 11
Group 12
Group 13
BaselineOmitted due to size. |
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
8b9c49d
to
8789730
Compare
What does this PR do?
Oh boy, this does way too much. It's built from bits and pieces of R&D projects and it's an absolute mess. Please don't try to review the code right now.
But it does these things and probably more:
VirtualVec
which uses the pre-existingVirtualAllocator
to build aVec
-like type which is no-std, no-panic. There are tests that it is actually no-panic. They work locally, will be interesting to see if it works in CI.NoGrowOps
andMayGrowOps
for buffer/vec types.Motivation
There are a few broad motivations:
Additional Notes
Again, please don't review this right now.
How to test the change?
Oh boy, please don't bother yet.