Debug技巧
本帖最后由 你有种再说一遍 于 2025-1-18 17:01 编辑单步断点调试是一种低效的调试方法
https://v.douyin.com/63AhMwTyDLg
其实我和这个文章观点一致,
只要一直看代码,代码就会告诉你哪里出问题了.
因为除了语法需要编译器检查之后,
最重要是数据结构的顺序,以及流程顺序.
如果不这样,会怎么样,你会穷尽一切猜想.
当然,如果你用Rust,那么编译器教你做人...
盯着代码看的时候,你需要想什么?
这个结构是否有序?
有序的话是否可以二分?是否可以构造Map?
内存是否释放?
是否线程不安全?
是否可以转为SOA+SIMD来进行加速?
.... 优化分为极限优化和工作流优化,
什么是极限?例如把边界检查移除这种就很极限.
什么叫工作流?例如开启并行切割数据,这种是必须要做的.
实际上因为业务复杂性,
导致了复杂问题必然有复杂的解决方案. 本帖最后由 你有种再说一遍 于 2025-1-18 20:17 编辑
多用Linq的函数,例如:
var ent = ents.FirstOrDefault(a => a.ColorIndex == 1);
if(ent is null) return;
目的是找到第一个满足条件的,就结束.
list的First比FirstOrDefault性能高一点,而且找不到也是为空.
但是只需要常用的就行,
你不再需要写for才是关键,
减少写for能够更方便了解业务,而不是数据.
谢谢分享
页:
[1]