这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目! [重磅]C++20基础库--yaLanTingLibs兰亭集库开源了,帮助开发者快速构建高性能C++应用 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp!
purecpp
最快的多线程计数器有多快(二)
前文中测试了yalantinglibs.thread_local_value在96核机器96线程测试,得到qps为58亿,可以说是相当快了,它是怎么做到的呢? 之前社区的同学说思路是不是用了线程局部变量,把counter作为线程局部变量,多线程计数的时候在各自的线程中计数,最后拿结果的时候把各个线程的...
purecpp
一个真正意义上的序列化引擎
一个真正意义上的序列化引擎 目前C++的序列化库都是每种格式写一个序列...
purecpp
最快的多线程计数器有多快
先看看完全无锁的整数每秒的qps是多少,以它为基准。 再分别比较以下场景: 多线程加锁的计数器qps 多线程原子变量的计数器...
purecpp
如何检测单例是否已经析构
单例本质是一个静态变量,它只会在程序退出的时候才会析构,如果有这样一个场景,在程序退出的时候调用了单例,但这时候单例已经析构了,调用就会出错。该如何解决这个问题呢? 一个巧妙的方法是通过一个全局变量去检测,代码如下: ```cpp inline std::atomic g_has_destruct = false; class Singleton { public:...
purecpp
C++20 非常好用的编译期反射库,划重点【没有宏,没有侵入式】
以前的编译期反射大多需要通过写一个辅助宏或者额外的代码去实现,比如iguana就是如此,iguana中需要这样定义一个结构体才能实现编译期反射: ```cpp struct simple { int color; int id; std::string str; int age; }; REFLECTION(simple, color, id,...
purecpp
反其道而行之,从struct 生成pb proto文件
protobuf会根据proto文件生成c++对象及其序列化/反序列化方法,而iguana的struct_pb 则是以结构体为核心,通过编译期反射去生成序列化/反序列化代码。最近社区有个朋友提出能不能将结构体输出为proto文件呢,这样就能给其它语言用了,这是一个很好的建议,实现起来也比较简单。 protobuf是从proto文件到c++对象,而struct_pb则是反其道而行之,通过C+...
purecpp
现代C++ 跨平台统一的文件库--通过协程读写文件
C++ 中文件操作这一块比较混乱,你可以使用std::fstream 去读写文件,也可以使用fread/fwrite 去读写文件,linux平台上还可以使用pread/pwrite 去读写文件。除此之外,linux平台还可以通过io_uring 去读写文件,windows平台则通过iocp去读写文件。这些文件操作的api各不相同,有时候不知道选择哪个接口更好,如果有一个统一的文件操作接口那就好了...
purecpp
yalantinglibs 的系统监控功能
系统监控功能是应用程序很需要的一项功能,应用程序运行起来之后,内存占用如何,线程数多少,句柄数用了多少,cpu占用如何等信息是需要监控并能查询的,如果是网络应用可能还想知道请求的latency如何,请求总数和请求失败总数等信息。这些就是系统监控的功能。 监控功能的核心就是各种指标(metric),按照prometheus的标准,指标主要分为四类: - couter:只能增加计数的指标...
purecpp
struct_pb 和 protobuf 性能比较
# struct_pb 介绍 [...
purecpp
iguana的动态反射
[iguana](https://github.com/qicosmos/iguana)是一个基于编译期反射的序列化库,支持从结构体序列化到不同的数据格式。 ![img](static/fcfbcb19a4d1408fa5ce188b7b3019fe.png) iguana可以...
Absolutely

purecpp

一个很酷的modern c++开源社区


[社区开源项目列表,点击前往]


purecpp社区自2015年创办以来,以“Newer is Better”为理念,相信新技术可以改变世界,一直致力于现代C++研究、应用和技术创新,期望通过现代C++的技术创新来提高企业生产力和效率。


社区坚持只发表原创技术文章,已经累计发表了一千多篇原创C++技术文章;


组织了十几场的C++沙龙和C++大会,有力地促进了国内外C++开发者之间的技术交流;


开源了十几个现代C++项目,被近百家公司所使用,有力地推动了现代C++在企业中的应用。


期待更多的C++爱好者能参与到社区C++社区的建设中来,一起为现代C++开源项目添砖加瓦,一起完善C++基础设施和生态圈。


微信公众号:purecpp, 社区邮箱: purecpp@163.com


友情链接