程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> facebook C++ overview(Folly)

facebook C++ overview(Folly)

編輯:C++入門知識

今天簡單翻了一下Folly,基本上裡面的庫對正常人不會有啥用。本以為會像Boost那樣模塊依賴性很高,沒想到還可以,想要抽取特性不是很難。不過裡面的幾個queue著實對我有用。等著用他們升級我的系統了~~~哇咔咔~~~~~下面是模塊的大體介紹,沒說的我也沒仔細看是干嘛的。其實基本都在md格式的doc裡,用vim打開就好了

Arena.h ThreadCachedArena.h:內存分配
AtomicHashMap.h,AtomicHashArray.h:不需要加鎖的原子操作型hash
Benchmark.h:一個framework,用來給用戶寫benchmark程序,目前只通過了單線程測試。(Bechmark程序用來測試程序效率)
Bits.h:提供優化的位操作應用
ConcurrentSkipList.h:這個數據類型(http://www.cs.tau.ac.il/~shanir/nir-pubs-web/Papers/OPODIS2006-BA.pdf)的實現
Conv.h:格式轉換工具,類似於lexical_cast
DiscriminatedPtr.h:類似於Boost:variant,不過只支持Pointer
Dynamic.h:動態格式類型。類似於variant,能放任何類型
Endian.h:大小端轉化
escape.h:
eventfd.h
FBString.h:對std::string的升級
FBVector.h:對std::vector的升級
Foreach.h
Format.h:python模式的格式化支持
GroupVariant.h
Hash.h:很多hash函數實現
Histogram.h:收集柱狀圖信息的類
Intrusive.h:
json.h:json文件的序列化和反序列化,用到dynamic
Likely.h
Malloc.h:用jemalloc的時候會用到
MapUtil.h:在關聯式容器裡查找item的幫助工具
PackedSyncPtr.h:一種高度特化的數據結構。包括一個指針,1位的spin lock,15位的整數,在一起組成64位字
Preprocessor.h
PrettyPrint.h:輸出輔助工具。(添加後綴)
ProducerConsumerQueue.h:不需要鎖的單讀單寫隊列
Random.h:產生隨機數
Range.h:
RWSpinLock.h
ScopeGuard.h:Loki裡面的那個scopeGuard的C++11版
SmallLocks.h
small_vector.h
sorted_vector_type:類似於map,但是用排序的vector實現的
StlAllocator.h:std的allocator的封裝
String.h:連接folly::fbstring和std::string的應用
Synchronized.h:高級的同步庫
System.h
ThreadCachedInt.h
ThreadLocal.h
TimeoutQueue.h:帶time-out的queue
Traits.h:C++11版的type_traits
Unicode.h

 


摘自 劉京洋

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved