mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
a3d6554a8c
Summary: When turning on the native prefetch, EdenFS will enqueue tons of blob requests to the import request queue. The expectation is then that the threads will dequeue batch of requests and run them. What is being observed is however vastly different: the dequeued batches are barely bigger than 10, far lower than the batch capacity, leading to fetching inefficiencies. The reason for this is that enqueuing is too costly. The first step in making enqueuing less costly is to reduce the number of times the lock needs to be acquired by moving the de-duplication inside the enqueue function itself. On top of reducing the number of times the lock is held, it also halves the number of allocation done under the lock. Reviewed By: chadaustin Differential Revision: D30520226 fbshipit-source-id: 52f6e3c1ec45caa5c47e3fd122b3a933b0448e7c |
||
---|---|---|
.. | ||
future.cpp | ||
get_sha1_thrift.cpp | ||
glob.cpp | ||
hg_import_request_queue.cpp | ||
open_close_parallel.cpp | ||
random_writes.cpp | ||
stat.cpp |