- 主题:有锁比无锁乱序快?
实测没啥用,性能按核计算即可
【 在 ziqin 的大作中提到: 】
: hyper-thread并不能和独立的核相提并论。
: hyper-thread只指如果两个指令不冲突,一个核可以同时执行这两个指令,其他所有的东西,寄存器,cache这些都是共享的。
: 所以你如果运行的两个指令不能同时执行,反而会造成更大的问题。
: ...................
--
FROM 221.221.49.*
单线程的协程,不能发挥多核的并行优势。
我在实验多线程协程。
要点是,不能使用线程锁。
【 在 ziqin 的大作中提到: 】
: 所以现在大家意识到,其实用户层面需要只是coroutine这种可以用异步思维来编程但是实际上可以用单线程实现的东西。thread这种还是交给底层比较好,一旦multiple thread, 需要兼顾的东西太多
:
--
修改:ylh1969 FROM 221.221.49.*
FROM 221.221.49.*
并行有很多种。我们的应用场景是交易中间件。就是一组服务器,为一大堆客户端服务。客户端间没有联系。每个人的交易都是独立的。m个线程为n个客户端服务。其中没有互锁。所以,性能可以随着核数线性上升。
用到协程的原因是大量客户端挂着,并不动作。这时使用线程池+多协程+协程栈池。
【 在 ziqin 的大作中提到: 】
: 但凡是有shared variable的并行,都不能完全发挥核的性能。
: 一般来说,4核共同shared data,基本就是极限了,再往上加核,程序的瓶颈是在cache line上
:
--
修改:ylh1969 FROM 221.221.49.*
FROM 221.221.49.*