美文网首页
folly学习笔记-序

folly学习笔记-序

作者: qimiaoguo | 来源:发表于2016-11-06 15:02 被阅读0次

1. 背景

folly是Facebook开源库 的缩写,包含一系列核心库,很多时候都是作为其内部C++项目的依赖库,也是各个项目需要将代码共享时放置的地方,它是对boost和标准库的补充,而不是竞争关系。只有当其他库不存在需要的功能或性能无法满足需要时,才会开始进行开发新的组件。当标准库或boost废弃一些功能时,folly也会努力的跟着适应变化。

性能问题散布在folly库的各个角落,是其关注的核心点,有时甚至导致一些非常特别的设计(例如,PackedSyncPtr.h,SmallLocks.h)

folly的github地址是https://github.com/facebook/folly,《modern c++ design》作者Andrei Alexandrescu是其主要作者之一。

2.设计

逻辑设计

folly尽可能将每个模块做到独立,但从不保证不会依赖内部的其他模块。

所有的符号都定义在folly命名空间内,当然除了宏意外,folly命名空间内部还会定义一些其他命名空间,如internal或detail, 当用户永远不应该使用这些内部符号。所有的宏都是大写并以FOLLY_开头。folly项目 下有个experimental目录,这些代码也在大量使用并可以通过测试,主要是考虑到未来API接口可能变化很大。

物理设计

folly和boost一样使用“口吃”的目录结构folly/folly,内部是扁平的结构,目前不会专门为一些模块设计特殊的目录,experimental目录下的内容最好不要使用,以免folly升级后原来代码不能使用,test目录包含所有模块的单元测试,一般以Test结尾,docs目录是一些文档,可以通过看文档或者folly主目录下的头文件查看有哪些模块。

note: 下一篇介绍其文档

相关文章

  • folly学习笔记-序

    1. 背景 folly是Facebook开源库 的缩写,包含一系列核心库,很多时候都是作为其内部C++项目的依赖库...

  • Folly介绍

    开源库:Leveldb Folly Envoy Ngnix 1.Folly提供的功能 单例类:Singleton....

  • python学习笔记目录

    Python学习笔记目录(倒序) Python学习-异常 Python学习-面向对象 Python学习-文件系统 ...

  • 0. THE FOOL. 愚者

    * Meanings Upright:Folly, mania, extravagance, intoxicati...

  • 今日GET

    To Mankind And the hope that the war against folly may so...

  • Selenium学习笔记目录

    Selenium学习笔记目录(倒序) Selenium学习007-使用技巧 Selenium学习006-查询123...

  • Matlab学习笔记(序)

    堕落良久,自觉有愧于心,之前已自学部分Matlab,但时日良久,早已忘却。又本学期开设数字图像处理与数据挖掘两门课...

  • 前端学习笔记 - 序

    本系列文章主要是为了记录自己在前端开发学习过程中的一些心得笔记。在文章的序中,我列出了希望在前端有所深入了解的内容...

  • [xactor]学习笔记--序

    最近学习CSP模型和actor模型,actor模型没有玩过。所以开始学习。actor模型在rust语言下有 Xac...

  • Rust 学习笔记-序

    github地址:https://github.com/bradyjoestar/rustnotes(欢迎star...

网友评论

      本文标题:folly学习笔记-序

      本文链接:https://www.haomeiwen.com/subject/wpfnuttx.html