首页> 外文学位 >Optimizing software through fully understanding the underlying architecture & strengthening the compiler.
【24h】

Optimizing software through fully understanding the underlying architecture & strengthening the compiler.

机译:通过充分了解底层体系结构并增强编译器来优化软件。

获取原文
获取原文并翻译 | 示例

摘要

Software developers are trying to write more efficient and faster programs. Increasing speed and efficiency not only depends on software programming knowledge, but also on understanding of the underlying computer architecture and compiler. Many programmers do not consider the machine architecture when they write code. Knowing the architecture specifications of the computer before writing code can influence program efficiency and speed. Also, optimizing compilers have a significant impact on the speed of program execution. The GCC compiler is a well-known compiler that has advanced techniques to optimize code. However, GCC compiler has several weaknesses in certain areas such as optimizing arithmetic operations, optimizing function calls, optimizing loops and providing full automatic parallelization. Those weaknesses can make programs run slower. This thesis helps developers to write more efficient software by presenting the weaknesses and strengths of the machine architecture and building tools to improve the weaknesses of the GCC compiler. In this thesis we show the negative impact of not considering the architecture specifications when programs are written to motivate software developers to pay attention to the architecture specifications of the machine. Several tools are designed to improve the weaknesses in the GCC compiler. Our tools work together with the GCC compiler to help developers design more efficient code. Also, our tools can work on different compiler architecture, are not limited to specific compiler architecture. We tested our tools to optimize real C applications such as Strassen.cpp, Bubble Sort.cpp and Selection Sort.cpp and we successfully optimized them. Therefore, by using our tools together with the GCC compiler, programs will be more efficient and faster. Through understanding the weaknesses and strengths of the underlying computer architecture, and using our tools together with the GCC compiler, developers can design more efficient software.
机译:软件开发人员正在尝试编写更高效,更快的程序。速度和效率的提高不仅取决于软件编程知识,还取决于对底层计算机体系结构和编译器的理解。许多程序员在编写代码时没有考虑机器体系结构。在编写代码之前了解计算机的体系结构规格可能会影响程序的效率和速度。同样,优化编译器对程序执行速度也有重大影响。 GCC编译器是众所周知的编译器,具有用于优化代码的先进技术。但是,GCC编译器在某些方面存在一些弱点,例如优化算术运算,优化函数调用,优化循环以及提供全自动并行化。这些弱点会使程序运行缓慢。本文通过介绍机器体系结构的弱点和优势以及构建工具来改善GCC编译器的弱点,来帮助开发人员编写更高效的软件。在本文中,我们展示了在编写程序以激励软件开发人员关注机器的体系结构规范时不考虑体系结构规范的负面影响。设计了几种工具来改善GCC编译器中的弱点。我们的工具可与GCC编译器一起使用,以帮助开发人员设计更有效的代码。此外,我们的工具可以在不同的编译器体系结构上工作,而不仅限于特定的编译器体系结构。我们测试了工具以优化真实的C应用程序,例如Strassen.cpp,Bubble Sort.cpp和Selection Sort.cpp,并成功对其进行了优化。因此,通过将我们的工具与GCC编译器一起使用,程序将更高效,更快。通过了解底层计算机体系结构的弱点和优势,并结合使用我们的工具和GCC编译器,开发人员可以设计出更高效的软件。

著录项

  • 作者

    Mezher, Ahmed Eskander.;

  • 作者单位

    University of Colorado at Denver.;

  • 授予单位 University of Colorado at Denver.;
  • 学科 Computer science.
  • 学位 M.S.
  • 年度 2013
  • 页码 91 p.
  • 总页数 91
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 石油、天然气工业;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号