发表于

2024年读书计划

2022年和2023年其实自己写了很多文章,也读了几本书,但是因为一直很懒没有把读书笔记更新上来。而且2022年算是我工作以来最为辛苦的一年,尤其是年初和年尾,两个项目加班严重,最晚干到凌晨两点,同事都在车上睡着了。

C++

我想在2024年开一个微信公众号,专门追踪C++社区最新的信息。除此之外,还有把历年的cppcon的一些我认为很有价值的演讲,重新整理一遍,把其中重要的思想提取出来。

C++整个发展脉络的把控,我感觉这一点非常重要,熟悉了整个C++的历史就知道C++里面的东西到底是为了解决什么问题才发明的,我们在日常的工作中,到底要用哪些东西来解决现实问题。这样我们可以做到既不会杀鸡用牛刀,也不会用错了方法导致工程效率低下。

解释性语言

想要多学习一些解释性语言,感觉bash的能力太有限了。

  • perl有很强的字符串处理能力,能够补充bash脚本处理字符串能力不足的情况
  • python是目前很流行的编程语言,广泛用于机器学习框架的使用上,底层实现还是c++。

vulkan

2023年一直在抽时间自己写渲染器,但是空余时间太少了,断断续续的看书,看完又忘记了。感觉自己还是要重新设定好计划,而不是做一会儿又停一会儿的。用vulkan的compute shader做并行计算,目前能够使用,但是因为自己懂的算法不多,完全没有应用场景。如果我能够把渲染器搭建起来,应该会有不少地方需要使用compute shader,这样可以提升我对于compute shader到实战使用。

机器学习

一直都想在公司的开发板上训练一个小模型,但是也是偷懒一直没搞。我觉得我对于模型训练其实是不感兴趣的,我只是想要知道如何使用模型,这一块我还需要加强。目前我对于机器学习完全没有入门,我还需要再提高一下这块。

工具

2023年对于trace工具研究了不少,性能优化确实是一个很重要的东西,学习了目前业界流行一些的工具,比如perfetto,lttng,eBPF之类的。其实我个人觉得围绕gdb再加上这些工具去做性能优化也是一个很重要的思路,因为ptrace系统调用,可以让一个进程观察另一个进程,并且修改其状态,这个理念本身对于加速复现问题或者人为制造场景都非常有帮助,然后通过gdb和其他工具的通信,协同完成性能优化。我觉得这个会是一个不错的思路。