CPU缓存行和伪共享(false sharing)
先看一个真实的性能怪象:多线程程序里,两个线程各自只写自己的变量,没有锁、没有共享数据,理论上应该随核数线性加速。实测却是核数越多越慢,甚至跑不过单线程。代码没有 bug,结果也完全正确。 这...
先看一个真实的性能怪象:多线程程序里,两个线程各自只写自己的变量,没有锁、没有共享数据,理论上应该随核数线性加速。实测却是核数越多越慢,甚至跑不过单线程。代码没有 bug,结果也完全正确。 这...
孤儿进程当父进程提前终止,而子进程仍在运行,子进程失去父进程的监管,成为孤儿进程,系统将孤儿进程的父进程设置为init进程,init进程会收养孤儿进程,负责在其结束后回收资源。因为在Linux...
引言C++ 中有很多关于常量性的概念,后来 C++20 新特性又添加了关于常量概念的新特性,这些关于常量性的关键字有着不同的用法和特性,虽然项目中大量使用但是平时没有对其进行深入剖析。现在本文...
Agent = LLM + 上下文 + 工具 LLM是Agent的大脑它是Agent的决策内核,理解意图,思考规划,做出判断。LLM的能力来源于两部分:预训练积累的世界知识和语言能力...
虚函数引入后Class的变化C++中一个Class一旦引入了一个Virtual 函数会发生什么变化呢?下面做一个实验。 1234class A{};A a;cout<...
网络编程套接字socket跨主机传输需要注意的问题 字节序问题假设要存储的数字为:0x12345678 1- 大端存储:低地址存放高位字节,高地址存放低位字节 0x12345678 地址由小到...
Linux的IO,包括input和output是一切实现的基础程序如果需要保存数据和读取数据需要使用IO,不然很难实现一些有用的功能。 stdio 标准IO sysio系统调用IO (文件IO...
网络是怎么传输的在很久以前,两台电脑A和B如果要交换信息,两个电脑连接一根网线进行了。后来又来了个小C,它也想加入进来,A,B,C互相通信,怎么办呢?每个电脑身上开两个网口,A,B,C两两相连...