测试了一下,发现这种靠引用计数 来减少对象复制,压根儿提升不了执行速度,我的场景是从文件读取消息记录,再分发到各个 消费线程,发现远不如 直接把消息复制给各个线程,哪怕用上内存池,来减少new 和 delete,真不如栈里创建对象,在 aiso context post 复制出去。
我的消息结构二十多个个double/int 之类的结构体,这算不算大对象了,按直觉这应该减少了不少拷贝,能提升不少性能,结果慢了近2~3倍,唯一的好处是省了不少内存,因为消费线程是会缓存一段时间内的消息用于计算。
【 在 z16166 的大作中提到: 】
: 这就是滥用try{}catch(...)
: volatile也是多余的
: m_uRefs == 0应该是一个assert,而不是if语句。
: ...................
--
FROM 14.154.50.*