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 bc22312487f004731f7d0733a394822ba06a390f..25b2214842b44d7e1dbd45fbb87b16bc62bc8323 100644 (file)
@@ -19,7 +19,7 @@
 
 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(