mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
319e33e471
Summary: This improves buck build(and likely other tools) execution time significantly on the cold cache, with eden api enabled(e.g. no import helper) I have noticed during the tests that we don't urilize network well when accessing files not in cache. Adding some instrumentation shows that we only do up to 8 parallel fetches on mercurial side. This seem to be limited by number of hg queue workers, simply boosting this number from 8->32 improves performance a lot, and it is still manageable number of threads We probably need some better solution to allow for greater parallelism. With this diff time for `buck build fb4a` on the cold cache is reduced **from 121 to 95 minutes(-30%)**. 'Parsing buck files' stage is reduced **from 07:16 min to 05:53 min(-25%)**. During buck build we get to actual parallelism of about 16 fetches which is limited by number of buck threads. Bumping number of buck threads with `-j 32` further reduces build time to **54 minutes (-60% from original)** Reviewed By: xavierd Differential Revision: D30025720 fbshipit-source-id: 6bcae1f353a0d31d8ce632ccb991c2a02f3136fc |
||
---|---|---|
.. | ||
git | ||
hg | ||
test | ||
BackingStore.h | ||
BackingStoreLogger.cpp | ||
BackingStoreLogger.h | ||
BlobAccess.cpp | ||
BlobAccess.h | ||
BlobCache.h | ||
BlobMetadata.h | ||
CMakeLists.txt | ||
Diff.cpp | ||
Diff.h | ||
DiffCallback.h | ||
DiffContext.cpp | ||
DiffContext.h | ||
eden_store_util.cpp | ||
EmptyBackingStore.cpp | ||
EmptyBackingStore.h | ||
ImportPriority.h | ||
IObjectStore.h | ||
KeySpace.cpp | ||
KeySpace.h | ||
LocalStore.cpp | ||
LocalStore.h | ||
MemoryLocalStore.cpp | ||
MemoryLocalStore.h | ||
ObjectCache-inl.h | ||
ObjectCache.h | ||
ObjectFetchContext.cpp | ||
ObjectFetchContext.h | ||
ObjectStore.cpp | ||
ObjectStore.h | ||
PathLoader.cpp | ||
PathLoader.h | ||
RocksDbLocalStore.cpp | ||
RocksDbLocalStore.h | ||
ScmStatusDiffCallback.cpp | ||
ScmStatusDiffCallback.h | ||
SerializedBlobMetadata.cpp | ||
SerializedBlobMetadata.h | ||
SqliteLocalStore.cpp | ||
SqliteLocalStore.h | ||
StatsFetchContext.cpp | ||
StatsFetchContext.h | ||
StoreResult.cpp | ||
StoreResult.h | ||
TreeCache.cpp | ||
TreeCache.h | ||
TreeMetadata.cpp | ||
TreeMetadata.h |