现在的 CPU 发展方向就是个多核, 似乎还越多越好, 什么双核, 4核, 上次在 intel developer forum 上面还看到一个 80 个核的,真个牛 x 搞那么多核当饭吃啥。 暂且不管那个 80核的怪胎,反正现在多核 cpu也便宜了, 和单核的价格差不多, 那为什么不买个多核的。
     多核的 CPU 要求 软件也多线程话来充分利用 CPU 的运算能力。 好那就多线程化呗。
多线程查错嘛就用 thread checker,理所当然呐。
前几天的技术论坛上,一个来自美国白须白发英特尔院士讲了一个暴经典使用 thread checker的故事。 (美国人白须白发?不是在忽悠, 地球人的毛发颜色不一, 不过到了一定岁数的颜色他还只有白色一种,那人够 senior  !!!)
     话说, 小的程序,几千行,几万行代码那种, thread checker 兵来将挡。 Intel 自己的编译器软件也要多线程话呀,那个软件大得恐怖, 1000多个 c 的源文件, 上百万行的源代码。
估计用 thread checker跑第一次编译器的时候,大家伙都是提心吊胆的。 Thread checker 能行吗,大家脑子里面都是一个大大的问号。
 服务器上运行了,慢归慢, 正常的啥, 结果还是出来了。 分析出的结果文件都 200多兆大。
 大家都以为大工告成,赶快用 thread checker GUI 程序打开结果, GUI 程序挂了。
200多兆实在太大了, GUI 没有办法列出错误的列表。 错误有 30多万个,   有点常识的人也知道估计是错误太多,没有办法一次显示出来,就挂了。
        GUI 小问题了,最简单的修改办法是每次让 GUI 显示部分的结果, 比如没页显示 10个结果,这样就绝对不会出错了。 threadchecker还是真牛。下次一定要用它来检查上千万行代码的操作系统,可以想象操作系统用 thread checker 来查多线程的错, 非得搞个服务器组, 算个半年不可。算个半年也值了, 毕竟是 OS,一定要保证正确。 OS 都出错了,上面的应用程序还想活。。。。