CPUThreadPoolExecutor's default queue is quite big
authorMatt Dordal <mnd@fb.com>
Wed, 11 Mar 2015 20:52:39 +0000 (13:52 -0700)
committerAndre Azevedo <aap@fb.com>
Wed, 18 Mar 2015 03:18:45 +0000 (20:18 -0700)
Summary:
By default, CPUThreadPoolExecutor uses 100 MB of rss for the CPU queue. This is
substantially higher than expected.

Reduce the default queue size so that it uses much less memory upfront, down
to about 6 MB going by the heap profile.

Reviewed By: davejwatson@fb.com

Subscribers: mwa, ott, iaroslav, jrsherwood, aflock, slarsen, davejwatson, trunkagent, fugalh, folly-diffs@, jsedgwick, yfeldblum

FB internal diff: D1900539

Tasks: 6453427

Signature: t1:1900539:1426103805:34fb7b081058fbde89370b5d9ec24ea572c4b0e2

folly/wangle/concurrent/CPUThreadPoolExecutor.cpp

index bc22312..25b2214 100644 (file)
@@ -19,7 +19,7 @@
 
 namespace folly { namespace wangle {
 
 
 namespace folly { namespace wangle {
 
-const size_t CPUThreadPoolExecutor::kDefaultMaxQueueSize = 1 << 18;
+const size_t CPUThreadPoolExecutor::kDefaultMaxQueueSize = 1 << 14;
 const size_t CPUThreadPoolExecutor::kDefaultNumPriorities = 2;
 
 CPUThreadPoolExecutor::CPUThreadPoolExecutor(
 const size_t CPUThreadPoolExecutor::kDefaultNumPriorities = 2;
 
 CPUThreadPoolExecutor::CPUThreadPoolExecutor(