笔记¶
[C++] Destructor Order
导言
- 一般来说,析构函数应该只处理释放资源,不处理逻辑。
- 但是PTA的代码里,在全局变量的析构函数里,写了向子线程发送结束信号的函数,和
childThread.join()。这导致了很奇怪的问题,string demalloc等。
为此,想研究一下C++的析构函数执行顺序。包括嵌套的Class结构,和全局变量的析构时机。
Disease And Prevention
导言
- 从8月5号开始到华为工作,我就感觉身体状况比上学时期下降几个水平。
- 问题包括感冒发热、心悸心梗、耳鸣、喉咙发炎、四肢僵硬、失眠。(哪怕是我记录的现在,也心慌难受,和喉咙发炎疼痛)
- 最主要的原因无疑是工作强度很大(9106),工作压力也大(导致失眠)
- 这导致锻炼不足,哪怕抽出空能锻炼了,在迈开腿跑之前,也时常感觉心慌难受,和双腿酸胀,根本跑不动。
本文希望从记录遇到的各种疾病问题的视角,和对性的自我医治和预防,从而对作息和生活习惯进行反思和改进。
RPM Package
导言
- 一般情况不会需要使用rpm安装包,因为包之间的依赖复杂,一般交给yum或者dnf处理
- 那如果yum,和dnf报错了,你就需要使用rpm命令来修复yum和dnf了。
Gperftools
导言
相对于perf命令,能低侵入的profile具体某个函数。
- 提供更多的具体有效信息
- 可惜暂时不能像viztracer和 tray profiler一样调用栈可视化。
Debug/Profile/Devlop Tools of PTA
导言
- 在 Ascend Extension for PyTorch 的相关开发时,最基础的能力就是debug和性能测试。
- 这里只列出、整理工具,具体需要看内部文档。
- 避免重复造轮子。
VirtualBox
导言
- 办公时的限制:我只能在蓝区Win机器写代码,但是这台电脑是无法连接服务器的,导致我测试只能蓝区写好push,用黄区电脑连接服务器clone测试。很可能还有些编译问题/typos没解决,导致有许多commit是无效的。
- 为此需要在蓝区电脑上搭建基本的编译测试环境,首先选择了搭建Linux虚拟机。