sapling/eden/fs/utils
Chad Austin baf60f0a42 add a RingBuffer
Summary:
`std::deque` has poor performance and bucketing in GNU libstdc++, and
sometimes we just need a ring buffer without paying for folly's
LockFreeRingBuffer.

Introduce a simple RingBuffer atop `std::vector` for later use in
ActivityBuffer.

Reviewed By: xavierd

Differential Revision: D44593248

fbshipit-source-id: 13303c27b184002fc74aec9ae6e9133c70bab6bb
2023-04-03 23:40:55 -07:00
..
test add a RingBuffer 2023-04-03 23:40:55 -07:00
BucketedLog.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
BufVec.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Bug.cpp break EDEN_BUG dependency on folly/Conv 2022-12-08 17:11:17 -08:00
Bug.h break EDEN_BUG dependency on folly/Conv 2022-12-08 17:11:17 -08:00
CaseSensitivity.h fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoParse.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ChronoParse.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ChronoUnit.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ChronoUnit.gperf fs: fix license header 2022-01-04 15:00:07 -08:00
ChronoUnit.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Clock.cpp remove some conditional includes 2022-07-19 12:37:57 -07:00
Clock.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
CMakeLists.txt common: rename utils -> edencommon_utils 2022-08-16 11:23:53 -07:00
CoverageSet.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
CoverageSet.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
DirType.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
DirType.h get nfs_utils building on Windows 2023-03-29 12:52:44 -07:00
EdenError.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
EdenError.h migrate EdenError to fmt 2022-10-04 21:42:44 -07:00
EdenTaskQueue.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
EdenTaskQueue.h fs: fix license header 2022-01-04 15:00:07 -08:00
EnumValue.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
FaultInjector.cpp switch FaultInjector to ImmediateFuture 2022-12-19 13:11:02 -08:00
FaultInjector.h fix fsck for renamed placeholders 2023-02-16 14:35:33 -08:00
FileDescriptor.cpp port Path and PathPiece from folly::StringPiece to std::string_view 2022-11-16 18:09:51 -08:00
FileDescriptor.h utils: AbsolutePath are always UNC on Windows 2022-11-08 08:49:16 -08:00
FileHash.cpp openssl: use Folly's portability header instead 2022-06-17 09:52:56 -07:00
FileHash.h fs: fix license header 2022-01-04 15:00:07 -08:00
FileUtils.cpp utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
FileUtils.h Close Windows file handle during Windows Fsck 2022-08-12 12:28:58 -07:00
FsChannelTypes.h fs: fix license header 2022-01-04 15:00:07 -08:00
Future.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
FutureUnixSocket.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
FutureUnixSocket.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Guid.cpp shave 5-7 seconds off C++ unit test compile times 2022-07-28 13:32:42 -07:00
Guid.h fix the custom PathFuncs and ObjectId formatters 2022-10-04 21:42:44 -07:00
IDGen.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
IDGen.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ImmediateFuture-inl.h utils: In place ImmediateFuture should consider kImmediateFutureAlwaysDefer 2023-03-02 16:55:02 -08:00
ImmediateFuture-pre.h ImmediateFuture: allow implicit conversion from Future 2022-12-19 13:11:02 -08:00
ImmediateFuture.cpp immediatefuture: redo makeNotReadyImmediateFuture 2022-10-13 21:44:10 -07:00
ImmediateFuture.h ImmediateFuture: allow implicit conversion from Future 2022-12-19 13:11:02 -08:00
IoFuture.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
IoFuture.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
LazyInitialize.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
LeaseCache.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
MappedDiskVector.h remove some conditional includes 2022-07-19 12:37:57 -07:00
Memory.cpp fs: fix license header 2022-01-04 15:00:07 -08:00
Memory.h use auto* for OverlayEntry::get_hash() 2022-07-29 10:40:08 -07:00
NfsSocket.cpp port Path and PathPiece from folly::StringPiece to std::string_view 2022-11-16 18:09:51 -08:00
NfsSocket.h fs: fix license header 2022-01-04 15:00:07 -08:00
NotImplemented.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
PathFuncs.cpp utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
PathFuncs.h return the config file path from getConfig 2022-12-10 05:09:52 -08:00
PathMap.h format path types with fmt instead of folly/Conv 2022-11-15 15:40:33 -08:00
Pipe.cpp Windows: fix warnings in daemon code 2023-03-29 11:13:25 -07:00
Pipe.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ProcessAccessLog.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ProcessAccessLog.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ProcUtil.cpp utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
ProcUtil.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
ProjfsUtil.cpp add and test renamed placeholder detection 2023-02-06 16:55:36 -08:00
ProjfsUtil.h add and test renamed placeholder detection 2023-02-06 16:55:36 -08:00
RefPtr.h remove the reference-counting overhead from DurationScope 2023-03-24 13:50:40 -07:00
RingBuffer.h add a RingBuffer 2023-04-03 23:40:55 -07:00
SortedInsert.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
SourceLocation.h introduce a SourceLocation type 2022-11-03 14:18:34 -07:00
SpawnedProcess.cpp utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
SpawnedProcess.h utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
SSLContext.cpp format path types with fmt instead of folly/Conv 2022-11-15 15:40:33 -08:00
SSLContext.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
StaticAssert.h fs: fix license header 2022-01-04 15:00:07 -08:00
StatTimes.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
String.h port Path and PathPiece from folly::StringPiece to std::string_view 2022-11-16 18:09:51 -08:00
SysctlUtil.cpp inodes: fix checkout with concurrent recursive grep 2022-10-18 12:32:52 -07:00
SysctlUtil.h log architecture on macOS to edenfs_events 2022-08-31 11:57:28 -07:00
SystemError.h inodes: fix checkout with concurrent recursive grep 2022-10-18 12:32:52 -07:00
Thread.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Thread.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Throw.h allow passing fmt views to throw_ and throwf 2022-12-09 13:10:45 -08:00
TimeUtil.cpp remove folly::Format TimeUtil 2022-08-02 11:44:19 -07:00
TimeUtil.h Add path information to inode tracing commands 2022-07-19 16:30:46 -07:00
UnboundedQueueExecutor.cpp standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UnboundedQueueExecutor.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UnixSocket.cpp migrate constructions of folly::exception_wrapper 2022-10-12 12:01:08 -07:00
UnixSocket.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
UserInfo.cpp utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
UserInfo.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
Utf8.cpp use appendCodePointToUtf8 2022-08-01 07:09:24 -07:00
Utf8.h standardize namespaces on C++17 syntax 2022-05-17 10:12:56 -07:00
WinStackTrace.cpp utils: deny building an AbsolutePath from a literal 2022-11-22 16:20:30 -08:00
WinStackTrace.h windows: teach eden to look for pdb in the binary path 2022-05-03 13:39:24 -07:00
XAttr.cpp remove some conditional includes 2022-07-19 12:37:57 -07:00
XAttr.h remove some conditional includes 2022-07-19 12:37:57 -07:00