很容易弄一段简单代码对比测试这两种搞法的性能的,就能确定你说的性能差异是不是这两种搞法的差异导致的,还是代码里其他地方导致的。
【 在 Algoquant 的大作中提到: 】
: 测试了一下,发现这种靠引用计数 来减少对象复制,压根儿提升不了执行速度,我的场景是从文件读取消息记录,再分发到各个 消费线程,发现远不如 直接把消息复制给各个线程,哪怕用上内存池,来减少new 和 delete,真不如栈里创建对象,在 aiso context post 复制出去。
: 我的消息结构二十多个个double/int 之类的结构体,这算不算大对象了,按直觉这应该减少了不少拷贝,能提升不少性能,结果慢了近2~3倍,唯一的好处是省了不少内存,因为消费线程是会缓存一段时间内的消息用于计算。
:
--
FROM 221.218.167.*