标签 C++ 下的文章

一、为什么要锁 锁是为了防止多线访问共同内存时的冲突问题,先看实例:两个线程分别对全局变量累加: //gcc lock_test.c -lpthread #include...

一、线程池的好处 如果任务的数量一开始不确定,我们该如何开辟线程?如果来一个任务开辟一个线程,任务结束之后又销毁线程,那么整体的效率会很低,大多数时间都在产生和销毁线程,...

一、多核CPU的结构 服务器的多核结构属于NUMA(Non-Uniform Memory Access,非一致性内存访问)架构。这里有一篇很好的介绍NUMA架构理解。 以...

一、多核时代 随着数字IC工艺的提升,单核性能越来越高,但随之来的是功率密度增大,芯片发热严重,要进一步提升性能,很自然会想到C多核。将计算任务分配到不同的cpu,最后将...

背景 avx256是x86cpu架构下实现SIMD(单指令多数据)的指令集。它能够利用cpu内部256bit的寄存器,同时对4位double或8位int类型的数操作,达到...

利用原子指令加速矩阵运算 C++里面有个原子指令库,不需要通过内嵌汇编就可以调用cpu内部SIMD的指令,头文件 包含SSE库, 包含SSE2库, 包含SSE3库。 原子...