mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
b7ab05edc5
Summary: In very hot code path, EdenFS is spending a very large amount of time creating and destroying folly::Future objects. This is due to the required memory allocation, as well as the handful of atomics that are happening at creation time, and these are showing up in EdenFS profiles. In the steady state, EdenFS actually doesn't need futures, as it often times is able to service requests from its in-memory caches, in which case we should ideally just return the value itself and not wrap it in a folly::Future. The added ImmediateFuture is a step in this direction, as it can hold either an immediate value, or a folly::SemiFuture, and allow the same API to be used transparently between these 2. Reviewed By: genevievehelsel Differential Revision: D28006802 fbshipit-source-id: 89eaa32e7fa82c44844c4b23c4cb30dbeea46ca8 |
||
---|---|---|
.. | ||
future.cpp | ||
get_sha1_thrift.cpp | ||
open_close_parallel.cpp | ||
random_writes.cpp | ||
stat.cpp |