C High performance pthread_pool:基于c语言高性能线程池,本项目目的在于探索如何实现简单且高效的线程池,仅学习用途。 如果你有其他好的想法,欢迎交流,可以在old目录加入你的代码,并测试。
平台:linux
mkdir out
make
old文件夹里面是老版本,使用常规方式实现 根目录下的版本是优化后的
- 1 全部采用无锁编程
- 2 线程休眠与唤醒用eventfd实现(线程通知)
- 3 每个线程自己收集运行状态,自适应高性能工作模式和常规工作模式
参考 test/test.c
- test/test.c 在高性能测试中,新版本比旧版本性能提升 50%
- test/test2.c 在常规测试中 ,新版本比旧版本性能提升 50-75%
- 新版本代码中 water_line的设置跟cpu能力有关,可能需要自行调整