folly,facebook刚刚开源的底层c++函数
https://github.com/facebook/folly/blob/master/folly/docs/Overview.md
定位:
作为std和boost库的补充,高性能包括散列,向量,内存分配,位处理等
部件:
Arena.h ThreadCachedArena.h
内存管理的简单应用场景,多重分配一次被回收
AtomicHashMap.h AtomicHashArray.h
高性能的hash map,几乎没有用锁
Benchmark.h
测试代码的简单框架
Bits.h
高性能的一些位操作
ConcurrentSkipList.h
并发跳表的一个高效实现
Conv.h
各种类型转换函数的高效实现(比如to和from string),速度上做了优化
DiscriminatedPtr.h
与boost::variant类似,但是限制到指针
dynamic.h
动态类型对象,类似JSON对象实现
Endian.h
尾端转换原语
Escape.h
Escapes a string in C style, 是个什么东西?
eventfd.h
eventd 系统调用包裹器
FBString.h
A drop-in implementation of std::string with a variety of optimizations.
FBVector.h
A mostly drop-in implementation of std::vector with a variety of optimizations.
Foreach.h
Pseudo-statements (implemented as macros) for iteration.
Format.h
Python-style formatting utilities.
GroupVarint.h
Group Varint encoding for 32-bit values.
Hash.h
Various popular hash function implementations.
Histogram.h
A simple class for collecting histogram data.
IntrusiveList.h
Convenience type definitions for using boost::intrusive_list.
json.h
JSON serializer and deserializer. Uses dynamic.h.
Likely.h
Wrappers around __builtin_expect.
Malloc.h
Memory allocation helpers, particularly when using jemalloc.
MapUtil.h
Helpers for finding items in associative containers (such as std::map and std::unordered_map).
PackedSyncPtr.h
A highly specialized data structure consisting of a pointer, a 1-bit spin lock, and a 15-bit integral, all inside one 64-bit word.
Preprocessor.h
Necessarily evil stuff.
PrettyPrint.h
Pretty-printer for numbers that appends suffixes of unit used: bytes (kb, MB, ...), metric suffixes (k, M, G, ...), and time (s, ms, us, ns, ...).
ProducerConsumerQueue.h
Lock free single-reader, single-writer queue.
Random.h
Defines only one function---randomNumberSeed().
Range.h
Boost-style range facility and the StringPiece specialization.
RWSpinLock.h
Fast and compact reader-writer spin lock.
ScopeGuard.h
C++11 incarnation of the old ScopeGuard idiom.
SmallLocks.h
Very small spin locks (1 byte and 1 bit).
small_vector.h
Vector with the small buffer optimization and an ptional embedded PicoSpinLock.
sorted_vector_types.h
Collections similar to std::map but implemented as sorted vectors.
StlAllocator.h
STL allocator wrapping a simple allocate/deallocate interface.
String.h
String utilities that connect folly::fbstring with std::string.
Synchronized.h
High-level synchronization library.
System.h
Demangling and errno utilities.
ThreadCachedInt.h
High-performance atomic increment using thread caching.
ThreadLocal.h
Improved thread local storage for non-trivial types.
TimeoutQueue.h
Queue with per-item timeout.
Traits.h
Type traits that complement those defined in the standard C++11 header <traits>.
Unicode.h
Defines the codePointToUtf8 function.
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号