-
Notifications
You must be signed in to change notification settings - Fork 506
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
[WIP] Box complex types in AnyValue enum #1913
Conversation
Moving to draft - Even though AnyValue benchmarks shows improvement, the similar improvement is not reflected in tracing-appender benchmark, possibly for different reason. Looking into that. |
AnyValue benchmark results:
|
And the LogRecord benchmark. The benchmark for box'ed complex types has gone up slightly as expected (eg for
|
Updating benchmark with LogRecord creation for 4 attributes:
|
@lalitb I think we need to log_benchmark_group(c, "full-log-with-4-attributes", |logger| {
let mut log_record = logger.create_log_record();
...
log_record.add_attribute("name", black_box("my-event-name"));
log_record.add_attribute("event.id", black_box(20));
log_record.add_attribute("user.name", black_box("otel"));
log_record.add_attribute("user.email", black_box("otel@opentelemetry.io"));
logger.emit(log_record);
}); I think the huge perf difference that shows up for simply creating c.bench_function("CreateOTelAnyValueStaticStr", |b| {
b.iter(|| {
let _v = black_box(AnyValue::String("value1".into()));
});
}); |
Closing as this is superceded |
Fixes #1903
Design discussion issue (if applicable) #
Changes
Please provide a brief description of the changes here.
Merge requirement checklist
CHANGELOG.md
files updated for non-trivial, user-facing changes