资源说明:此是自己优化多核多线程测试用的一个基准程序,是一个udp 的iocp实现,不具多少实用性,但具有研究性.采用分布式队列思想,尽量减少因同步而导致的线程切换带来的开销.在程序中采用tls,使每个线程都有自己的本地队列,从而避免同步.
还没有测试的是chche伪共享造成的性能下降,在后面将测试.
设置代码中 DEFAULT_RUDP_BUFFER_SIZE = 32k(实际udp包远没有这么大),用vc6及vc8编译,在我的机器:thinkpad x200,(2.56G双核cpu,4G DDR3内存),win7 旗舰版,在资源管理器中网络速度达到:14Gbit(loopback).
再用intel c++ 11.0.6编译器编译,网速达到17Gbit,看来inter cpu 用他自己的编译前确实有较大优化.
希望对多核编程有兴趣的初学者有帮助.技术交流请来信: xiji.xie@gmail.com
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。