Merge branch 'charlesmchen/biggerMessageBatches'

pull/1/head
Matthew Chen 8 years ago
commit 1e07ae11c5

@ -317,6 +317,9 @@ NSString *const OWSMessageContentJobFinderExtensionGroup = @"OWSMessageContentJo
{
AssertOnDispatchQueue(self.serialQueue);
// We want a value that is just high enough to yield perf benefits.
const NSUInteger kIncomingMessageBatchSize = 32;
NSArray<OWSMessageContentJob *> *jobs = [self.finder nextJobsForBatchSize:kIncomingMessageBatchSize];
OWSAssert(jobs);
if (jobs.count < 1) {
@ -338,7 +341,7 @@ NSString *const OWSMessageContentJobFinderExtensionGroup = @"OWSMessageContentJo
// This delay won't affect the first message to arrive when this queue is idle,
// so by definition we're receiving more than one message and can benefit from
// batching.
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1f * NSEC_PER_SEC)), self.serialQueue, ^{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5f * NSEC_PER_SEC)), self.serialQueue, ^{
[self drainQueueWorkStep];
});
}

@ -4,8 +4,6 @@
NS_ASSUME_NONNULL_BEGIN
extern const NSUInteger kIncomingMessageBatchSize;
@class OWSSignalServiceProtosContent;
@class OWSSignalServiceProtosDataMessage;
@class OWSSignalServiceProtosEnvelope;

@ -7,15 +7,6 @@
NS_ASSUME_NONNULL_BEGIN
// We need to use a consistent batch size throughout
// the incoming message pipeline (i.e. in the
// "decrypt" and "process" steps), or the pipeline
// doesn't flow smoothly.
//
// We want a value that is just high enough to yield
// perf benefits. The right value is probably 5-15.
const NSUInteger kIncomingMessageBatchSize = 10;
// used in log formatting
NSString *envelopeAddress(OWSSignalServiceProtosEnvelope *envelope)
{

Loading…
Cancel
Save