当前位置:   article > 正文

线程安全的高性能C++哈希表实现_设计一个线程安全的哈希表

设计一个线程安全的哈希表

我知道很多人和曾经的我一样在找一个使用方便的多线程哈希表的C++实现。但是令人失望的是,这么基本且被广泛需求的东西找不到一个好用的实现。有鉴于此,自己动手用标准C++写了一个,希望能帮助到大家。特点是性能高,跨平台,代码独立自足,不依赖任何其它库。具体源代码我发布在了github上:

GitHub - PhelpsZhao/ZZGLIB: An implementation of thread-safe lock-free hash table in C++

使用很简单,拷贝源码即可。随源码附带的一个main.cpp是一个单线程演示功能用的。有兴趣的小伙伴可以测试一下多线程性能。代码大家可以自由使用,唯一要求就是一定要告诉我使用中发现的问题,让我在后续版本中可以改进。

编译器必须支持C++17,我在gcc 9.5和vs2022下编译通过,其它没试过。

为了提升性能,代码也对一些小功能进行了优化实现。比如需要使用锁的地方没有使用平台锁,全部用标准C++实现,包括自旋锁、版本锁和读写锁等;实现了一个高性能的分配固定长度内存的堆;包含了一些高性能的位运算算法。有兴趣的小伙伴也可以试试这些小玩意。

这个项目的邮箱是zzglib@hotmail.com,有问题可以发我邮件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/570519
推荐阅读
相关标签
  

闽ICP备14008679号