Skip to content

logging: hoist per-event work into log_one#796

Draft
antiguru wants to merge 1 commit into
TimelyDataflow:masterfrom
antiguru:log-many-shrink
Draft

logging: hoist per-event work into log_one#796
antiguru wants to merge 1 commit into
TimelyDataflow:masterfrom
antiguru:log-many-shrink

Conversation

@antiguru
Copy link
Copy Markdown
Member

Exploration: bypass log_many from Logger::log and split the per-event push+extract loop into a log_one method generic only over T (not the iterator type). Saves ~470 LLVM lines on the event_driven example by deduplicating per-iterator monomorphizations of Logger::log_many and LoggerInner::log_many. Binary size of per-event-type Logger::log copies unchanged because LLVM still inlines the CapacityContainerBuilder VecDeque path; further wins would need changes in the container crate.

Bypass `log_many` entirely from `Logger::log` and split the per-event
push+extract loop into a `log_one` method generic only over `T` (not the
iterator type). Saves ~470 LLVM lines on the `event_driven` example by
deduplicating per-iterator monomorphizations of `Logger::log_many` and
`LoggerInner::log_many`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant