Folly,一个被忽视的库
Folly是Facebook在2012年开源的一个C++11组件库。
如果你在写一个高性能高并发的服务器程序,Folly会节省你很多时间。前提是你的程序只需要运行在Linux平台上,还有你能接受并有耐心编译的它的一系列依赖(Boost\gflags\gtest\glog\double-conversion\snappy\…)。
看到这里,你应该明白为什么Folly在百度上只有几篇文章了。
幸运的是,如果你在用Mac OSX,只需要一行命令:brew install folly
等你装好folly,键入#include <folly/,你会发现很多你曾经写过或正想去写的基础组件:
Json.h
AtomicBitSet.h
AtomicHashMap.h
AtomicLinkedList.h
AtomicUnorderedMap.h
Conv.h
MPMCPipeline.h
MPMCQueue.h
MicroSpinLock.h
RWSpinLock.h
ScopeGuard.h
……
但,基本每个组件都有其适用场景,和限制条件。用前记得好好看下头文件里的说明。