Summary:
This is folly github pull request https://github.com/facebook/folly/pull/184
It seems we might avoid some temporaries in putMessagesImpl
function. To do so we pass arguments directly to constructors
with the help of emplace_back member.
Test Plan:
All folly/tests, make check for 37 tests, passed.
Signed-off-by: Nicholas Ormrod <njormrod@fb.com>
Reviewed By: davejwatson@fb.com
Subscribers: folly-diffs@, yfeldblum, chalfant
FB internal diff:
D1998515
Tasks:
6783581
Signature: t1:
1998515:
1429207683:
056db129405bed212f50a50821f095c8d3694ec8
if (numActiveConsumers_ < numConsumers_) {
signal = true;
}
- queue_.push_back(
- std::make_pair(std::move(message),
- RequestContext::saveContext()));
+ queue_.emplace_back(std::move(message), RequestContext::saveContext());
}
if (signal) {
signalEvent();
if (numActiveConsumers_ < numConsumers_) {
signal = true;
}
- queue_.push_back(std::make_pair(message, RequestContext::saveContext()));
+ queue_.emplace_back(message, RequestContext::saveContext());
}
if (signal) {
signalEvent();
folly::SpinLockGuard g(spinlock_);
checkDraining();
while (first != last) {
- queue_.push_back(std::make_pair(*first, RequestContext::saveContext()));
+ queue_.emplace_back(*first, RequestContext::saveContext());
++first;
++numAdded;
}