`
cgaolei
  • 浏览: 58491 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

会自我学习的程序编译器

阅读更多

刚刚在Slashdot上看到一个新闻,IBM今天发布全球首个开源的Machine Leaning Compiler,叫Milepost GCC, 官方网是http://www.milepost.eu/

这个程序编译器的最大特点可以自我学习,在编译代码时可以对程序进行分析,并找到最适合的优化方法编译程序。试验表明,用这个编译器编译程序的运行效率可以提高18%.


开源之后的项目还会继续研究这个领域,不断的提高编译器的分析能力。
Milepost官网上的介绍 写道
The overall objective of this project is to develop compiler technology that can automatically learn how to best optimise programs for re-configurable heterogeneous embedded processors. If successful we will be able to dramatically reduce the time to market of re-configurable systems. Rather than developing a specialised compiler by hand for each configuration, our project will produce optimising compilers automatically. Current handcrafted approaches to compiler development are no longer sustainable. With each generation of re-configurable architecture, the compiler development time increases and the performance improvement achieved decreases. As high performance embedded systems move from application specific ASICs to programmable heterogeneous processors, this problem is becoming critical.

This project explores an emerging alternative approach where we use machine-learning techniques, developed in the artificial intelligence arena, to learn how to generate compilers automatically. Such an approach, if successful, will have a dramatic impact on re-configurable systems. This means that for a fixed amount of design time. We can evaluate many more configurations leading to better and more cost-effective performance. If successful, this will enable Europe to increase its dominance in this critical emerging market.
 
感觉特好玩,还是头次听说有这样的编译器。做一下记录,留着有空时试一试看。
分享到:
评论

相关推荐

    为什么每个程序员都应该学习代码编译器知识

    每个程序员都应该学习代码编译器知识,因为编译器不仅是将源代码转化为可执行程序的工具,而且深入了解编译器的运作机制可以帮助我们编写出更高效、更清晰的代码。以下是一些关于编译器及其相关知识的重要点: 首先...

    自己动手写编译器、链接器_编译器_

    本书介绍的SCC编译器没有借助Lex与 Yacc这些编译 器自动生成工具纯手工编写而成更便于学习和理解。为了生成可以直接运行EXE文件本书还实现了 一个链接器。读完本书读者将知道一门全新的语言如何定义一个真实的编译器...

    自己动手写编译器链接器PDF及源码.rar

    通过学习和实践《自己动手写编译器链接器》,不仅可以提升对编译器和链接器工作原理的理解,还能锻炼解决问题和分析代码的能力,这对于任何想要深入计算机系统、从事底层开发或者提升软件工程技能的人来说都是宝贵的...

    自己动手写编译器链接器高清完整版

    学习如何编写自己的编译器和链接器不仅可以帮助程序员深入理解程序的执行过程,还能提升对底层系统架构的理解。通过实践编写编译器和链接器,开发者能够更好地掌握计算机科学的基础知识,包括但不限于数据结构、算法...

    主动自我优化的编译器

    自我改进编译器的概念涉及到编译器在编译过程中不断学习和适应程序的执行模式,从而动态调整优化策略以达到最佳性能。这种编译器能够在程序运行时收集性能数据,然后利用这些数据来指导后续的编译决策,这种机制在...

    windows下C++学习之编译器使用

    标题提到的是“windows下C++学习之编译器使用”,这通常指的是在Windows操作系统中如何安装和使用C++的编译工具,以便进行程序开发。这里描述中提到了“很好用的C++编译环境”和“程序验证利器”,暗示我们关注的...

    自己动手写编译器 两本

    《自己动手写编译器 两本》这套资料包含了《自己动手构造编译系统++编译、汇编与链接》和《自己动手写编译器链接器》两本书,是学习编译原理和技术的宝贵资源。这两本书深入浅出地介绍了编译器的设计与实现过程,...

    自己用c#做的C语言编译器内带测试程序

    标题中的“自己用c#做的C语言编译器内带测试程序”表明这是一个个人项目,开发者使用C#编程语言创建了一个小型的C语言编译器,并且这个编译器包含了用于验证其功能的测试程序。这涉及到计算机科学中的编译原理、...

    非常好的汇编程序编译器

    然而,汇编语言的学习曲线较陡峭,对于初学者来说可能会有一定的挑战。标题提到的“非常好的汇编程序编译器”显然旨在为初学者提供便利。 汇编编译器是将汇编语言源代码转换成机器可执行的二进制代码的工具。这些...

    自己动手写编译器、链接器高清带目录PDF书籍+源码

    5. **代码优化**:为了提高程序运行效率,编译器会对中间代码进行一系列优化,如死代码消除、循环展开、常量折叠等。 6. **目标码生成**:最后,编译器将优化后的中间代码转换为目标机器的汇编代码,或者直接生成...

    vc一个自己写的编译器

    标题中的“vc一个自己写的编译器”表明这是一个基于Visual C++(简称VC)平台自制的编译器项目。在编程领域,编译器扮演着至关重要的角色,它将高级语言源代码转换为机器可执行的二进制代码。下面我们将深入探讨...

    汇编程序编译器

    在【描述】中提到的"支持新手上手",这意味着该汇编程序编译器可能设计得较为友好,对于初学者来说,可能包含了易于理解的界面、帮助文档或教程,使得初学者能更容易地学习和掌握汇编语言。"支持WIN7 XP"则表明这款...

    C语言编译器源代码 学习

    总的来说,学习C语言编译器源代码是一个既具有挑战性又富有收获的过程,它可以帮助我们提升编程技能,增强对计算机系统底层运作的理解,甚至启发我们去创造自己的编程语言或编译工具。在研究或开源项目中,与...

    汇编程序编译器MASM5

    **汇编程序编译器MASM5** 汇编语言是一种低级编程语言,它与机器语言密切相关,但比机器语言更易读、易编写。在计算机科学领域,汇编语言是程序员与硬件交互的主要手段之一,尤其在系统编程、设备驱动编程以及性能...

    最新应用程序反编译器

    因此,除非有合法的理由,如自我学习或安全分析,否则应避免对商业软件进行反编译。 在实际使用反编译器时,需要掌握一定的技巧,例如理解汇编语言、掌握反编译工具的使用,以及如何解读生成的反编译代码。此外,...

    自己动手写编译器、链接器影印版及源代码

    通过阅读和实践,你可以深入了解编译器和链接器的工作原理,这对于开发自己的编程语言、优化程序性能或者深入理解计算机系统都有着不可估量的价值。无论是为了学术研究还是职业发展,掌握这些知识都将使你在IT领域更...

    cmm程序语言编译器

    在编译过程中,CMM编译器会将高级语言(如C、C++或Java)的源代码转化为CMM代码,然后再将CMM代码转换为目标机器码,从而实现程序的执行。 编译器的前端部分主要负责源代码的解析和词法分析。它首先将源代码分解成...

    自己动手写编译器链接器

    《自己动手写编译器链接器》是一本深入探讨...总之,《自己动手写编译器链接器》这本书是学习编译原理和链接器技术的实践指南,通过动手实践,读者将能掌握编译器和链接器的核心概念,增强对计算机系统的深入理解。

    简单的编译器(新手学习)--编译原理

    2. **语法分析**:这一阶段,编译器会根据源代码的标记生成语法树,检查源代码是否符合语言的语法规则。C++遵循上下文无关文法,通过解析器(Parser)来实现这个过程。 3. **语义分析**:编译器检查源代码的语义,...

    C#简单编译器,编写控制台应用程序

    在本项目中,"C#简单编译器"是一个用于创建和执行控制台应用程序的工具,旨在简化学习过程。这个编译器的核心是理解和转换C#源代码,使其能够运行在计算机上。以下是对相关知识点的详细解释: 1. **C#编程语言**:...

Global site tag (gtag.js) - Google Analytics