我遇到的编程中最恶心的问题是和cache有关的问题,这种问题从代码的角度来讲,无论是逻辑还是流程,都很难找出错误,语法上就更加没有问题。更加不可思议的是,通常在debug环境下不能复现问题,但是在release环境下就可以测出问题。
根据经验,和cache相关的问题,大多数都可以通过刷新cache来解决。例如先invalid之前的cache,做完事情后再flush当前的cache。如果是指令cache,有一个很难的地方就是,cache太小无法把原子段都塞进去或者是代码段在编译后并没有完全在cache,导致代码执行的频繁跳动会引起一些错误,这种情况下可以通过增删代码,把这段代码高频部分完全塞到cache中。
大家有过类似的经历吗?欢迎一起讨论。
#编程中你遇到最恶心的事情是什么#







