@(网络编程)
netfish是一个reactor模式的网络库,支持多线程,高并发,目前可以完成C10k问题。
-
线程模型
One Loop Per Thread+Thread pool -
IO模型为
non-blocking IO+IO multiplexing
依赖boost, 首先安装boost. Ubuntu下:
$sudo apt-get install libboost-dev libboost-test-dev
然后:
cd netfish/
make
即可得到libnetfish.a 和 若干test*测试程序.
直接link产生的libnetfish.a静态库即可,具体使用方法可参考 若干test*测试程序, 以及pingPongServer.cc, pingPongClient.cc
测试方法:
serverpingPongServer.cc端和client端 pingPongClient.cc分别实现echo程序.- 分别对
单线程和多线程情况下,不同的并发数测试其throughput. 测试脚本分别为singleThreadThroughput.sh, multiThreadThroughput.sh
硬件: Intel CORE(TM) i7-3630QM @ 2.4G 四核八线程
OS: Ubuntu 12.04 64bit
参考 测试结果图表