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.

posted @ 2012-06-03 13:42  zaleilynn  阅读(1085)  评论(0编辑  收藏  举报