
folly
空腹熊猫
普通后台开发,喜欢看源码,对机器学习深度学习感兴趣
展开
-
folly 开源库源码学习:无界队列 concurrency / UnboundedQueue.h
UnboundedQueue无界队列支持以下选择: 单个/多个生产者 单个/多个消费者 阻塞/自旋等待 无等待、定时 生产者操作永远不会失败或等待(除非内存不够) 适用场景: 小型有界队列会在高并发下导致死锁或性能下降 不需担心队列过度增长 不适用场景 有队列过度增长的风险,并且允许较大的边界,可以用DynamicBoundedQueue 元素入队列时...原创 2020-02-24 23:31:07 · 1894 阅读 · 0 评论 -
folly 开源库源码学习:动态有界队列 concurrency / DynamicBoundedQueue.h
DynamicBoundedQueue 通过队列元素的增减,管理内存的扩张与缩减 容量可调整,作为队列平衡了生产者消费者的不平衡 还可防止死锁,将容量增加到生产者不需等待的大小 队列元素有权重,默认为1;最大权重是队列容量;权重不影响顺序,还是FIFO 适用场景:当小容量队列会导致思索或者性能下降时;典型队列大小比一般队列小得多;需要支持元素不同权重。 不适用场景:不支持动态内存分配...原创 2020-02-22 11:30:04 · 1730 阅读 · 0 评论 -
folly 开源库源码学习:concurrency / ConcurrentHashMap.h
ConcurrentHashMap.h1、介绍高性能并发哈希map 大部分读操作无等待 写操作共享(细粒度锁) 多线程性能仅次于无锁原子map(AtomicHashMap等),除非事先知道map大小且不需要erase,否则应选ConcurrentHashMap 基于java 的Java's ConcurrentHashMap,性能上接近std::unodered_map2...原创 2020-02-21 23:34:30 · 3279 阅读 · 0 评论 -
folly 开源库 ConcurrentHashMap 的简单使用
代码:#include <folly/concurrency/ConcurrentHashMap.h>#include <string>#include <iostream>class Student {public: Student(std::string name, int id, std::string email) ...转载 2020-02-19 20:04:19 · 1681 阅读 · 0 评论 -
folly 安装报错:Unknown CMake command "apply_folly_compile_options_to_target
是因为编译路径不对,到folly根目录下创建_build,然后进去cmake .. 即可转载 2020-02-19 19:48:27 · 1010 阅读 · 0 评论 -
ubuntu18 安装 Facebook 开源库 folly
官网1、安装依赖folly 要求 gcc 5.1+ 版本,以及c++14 编译支持的boost版本 .folly 的测试代码需要googletest 库,可以用以下命令下载安装:wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz && \tar zxf release-...原创 2020-02-19 17:14:04 · 696 阅读 · 0 评论