folly::io::QueueAppender speedup
Summary: Make QueueAppender (as used in the thrift2 protocol writer) much faster. Benchmarks in a separate diff (for thrift2). A few things: - remove IOBuf range checks in optimized mode - simplify QueueAppender: maxGrowth wasn't used, removed it - simplify QueueAppender: don't duplicate the work in IOBufQueue, let IOBufQueue keep track of memory - speed up IOBuf::isSharedOne(): fast-path case where the buffer was never shared (so don't read the reference count in that case) - fast-path in QueueAppender if size is known at compile time @override-unit-failures compilation errors outside of folly fixed in subsequent diff Test Plan: folly/io/test, both dbg and opt Reviewed By: davejwatson@fb.com FB internal diff: D946907
Showing
Please register or sign in to comment