High Performance Programming
文章平均质量分 71
wangicter
金融产品研发
展开
-
内存屏障
内存屏障在编程过程中,由于CPU重排以及编译器优化的原因,有些代码的执行顺序会发生变化,并不是严格按照程序编写的那样执行。虽然在单线程情况下,这样优化的结果没有问题,还能够大大提速,但多线程情况下就会发生意想不到的结果。原创 2017-07-20 11:24:21 · 604 阅读 · 0 评论 -
zeromq+python安装手册
zeromq在windows和linux环境下的安装方法。原创 2017-07-25 15:49:27 · 4138 阅读 · 0 评论 -
多核编程中伪共享问题(false sharing)
伪共享问题(False Sharing)是多核编程中非常常见的问题。原创 2017-07-11 16:20:07 · 1918 阅读 · 0 评论 -
sigaction介绍
sigaction 原型: int sigaction(int signo,const struct sigaction *restrict act, struct sigaction *restrict oact); @signo 信号编号 @act 要注册的信号动作 @oact 原信号动作原创 2017-08-04 14:58:35 · 2594 阅读 · 0 评论 -
ZMQ模式详解——发布/订阅模式
一个例子1.一个服务器负责生成天气相关数据(邮编、温度、湿度),然后将这些数据发布到所有需要知悉天气的客户端; 2.一个客户端需要时刻更新和获取最新的邮政编码,在没有获取之前可默认为纽约地区。特点:1.一个发布者,多个订阅者的关系,1:n; 2.当发布者数据变化时发布数据,所有订阅者均能够接收到数据并处理。 这就是发布/订阅模式。原创 2017-07-28 10:50:25 · 27083 阅读 · 3 评论 -
C++流水线的简易实现
流水线本来是工程任务中为了将不同的工序分开的一种处理流程。这种分工,会给工作的流程化和吞吐带来一定的好处。 如果将流水线应用到程序中,会有如下一些好处: 1、不需要锁。线程之间有时序关系,因此从流程设计上就规避了锁的机制; 2、多线程并发。不同线程负责不同的事务处理,可以在一定程度上实现并发; 3、吞吐量高。由于多线程不会像单线程那样阻塞,所以吞吐量会有一定提高。 但流水线也有它的缺点:...原创 2018-07-02 16:35:49 · 10484 阅读 · 4 评论