cabana: faster copy events (#27499)

vw-mlb
Dean Lee 2 years ago committed by GitHub
parent 703f5e34ba
commit 2de085d39d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      tools/cabana/streams/livestream.cc

@ -89,10 +89,11 @@ void LiveStream::removeExpiredEvents() {
} }
const std::vector<Event *> *LiveStream::events() const { const std::vector<Event *> *LiveStream::events() const {
events_vector.clear();
std::lock_guard lk(lock); std::lock_guard lk(lock);
events_vector.reserve(can_events.size()); if (events_vector.capacity() <= can_events.size()) {
std::copy(can_events.begin(), can_events.end(), std::back_inserter(events_vector)); events_vector.reserve(can_events.size() * 2);
}
events_vector.assign(can_events.begin(), can_events.end());
return &events_vector; return &events_vector;
} }

Loading…
Cancel
Save