线程优化不要程序员了,微软正开发自动线程编译器

来源:百度文库 编辑:超级军网 时间:2024/05/04 00:21:23
编者按:线程优化是程序员非常头疼的事,不过微软公司正在开发新的编译器,它可以自动识别代码的线程,这样即使源代码没有针对多核优化在编译之后也能优化多核支持了。

  从2006年Intel抢先推出胶水双核Pentium D处理器以来,双核及多核处理器出现在消费级市场已有7个年头了,频率大战终结之后我们赖以提升CPU性能的手段主要就是多线程了,不过这么多年了日常应用中四核或者更高的核心给我们的感受就是性能其实并没有提升太多。

  影响多核应用体验的主要原因就是目前的代码普通都是针对单线程准备的,对多核及多线程支持不足,因为在处理器四十多年的历史中单线程一直是绝对的主流,商业应用中多核虽然已经很普遍,但在民用市场针对多核优化的代码及软件还是比较少,理论测试的软件倒是有不少支持多核的,不过实际应用中就没那么多了。

  想改变这种代码优化不足的情况除了靠程序员自身的努力之外,编译器(compiler)也大有可为,如果它能自动识别线程(Auto-Threading)并进行优化的话就可以节省程序员的时间和精力了。这听起来有点像白日梦,不过微软、Intel等公司确实是在进行这方面的研究,Intel最新的编译器已经有类似自动线程的功能,不过Intel的编译器虽然性能优秀,不过影响力还是比不过微软,这个功能还需要微软动手。


虽不明,但觉厉

  Dr.Dobbs报道称微软最近公布的研究论文(有兴趣的可以下载看看)中就有自动线程编译器功能,它将作为微软C语言编译器的扩展而存在,可被用来动态追踪代码的突变性,自动决定应该使用单线程还是多线程。虽然原理说起来是这么简单,但是这个功能实际上非常复杂,它必须要正确处理可能由此功能产生的各种未知错误,以避免产生内存数据错误或者其他问题。

  只不过这个功能还没有最终完成,微软也没有公布支持相关功能的编程工具何时发布。http://www.expreview.com/22567.html编者按:线程优化是程序员非常头疼的事,不过微软公司正在开发新的编译器,它可以自动识别代码的线程,这样即使源代码没有针对多核优化在编译之后也能优化多核支持了。

  从2006年Intel抢先推出胶水双核Pentium D处理器以来,双核及多核处理器出现在消费级市场已有7个年头了,频率大战终结之后我们赖以提升CPU性能的手段主要就是多线程了,不过这么多年了日常应用中四核或者更高的核心给我们的感受就是性能其实并没有提升太多。

  影响多核应用体验的主要原因就是目前的代码普通都是针对单线程准备的,对多核及多线程支持不足,因为在处理器四十多年的历史中单线程一直是绝对的主流,商业应用中多核虽然已经很普遍,但在民用市场针对多核优化的代码及软件还是比较少,理论测试的软件倒是有不少支持多核的,不过实际应用中就没那么多了。

  想改变这种代码优化不足的情况除了靠程序员自身的努力之外,编译器(compiler)也大有可为,如果它能自动识别线程(Auto-Threading)并进行优化的话就可以节省程序员的时间和精力了。这听起来有点像白日梦,不过微软、Intel等公司确实是在进行这方面的研究,Intel最新的编译器已经有类似自动线程的功能,不过Intel的编译器虽然性能优秀,不过影响力还是比不过微软,这个功能还需要微软动手。


虽不明,但觉厉

  Dr.Dobbs报道称微软最近公布的研究论文(有兴趣的可以下载看看)中就有自动线程编译器功能,它将作为微软C语言编译器的扩展而存在,可被用来动态追踪代码的突变性,自动决定应该使用单线程还是多线程。虽然原理说起来是这么简单,但是这个功能实际上非常复杂,它必须要正确处理可能由此功能产生的各种未知错误,以避免产生内存数据错误或者其他问题。

  只不过这个功能还没有最终完成,微软也没有公布支持相关功能的编程工具何时发布。http://www.expreview.com/22567.html
虽然不是太清楚,但是好像很厉害的样子
很多年前还传言AMD在搞合并核心技术,就是cpu多个核心自动并行单线程代码。不过很久没消息了。
要是成功了电脑就要迈入多核实用时代了。。或者或者就是无cpu的时代?还是多CpU的时代?