LLVM每日谈之二十四 Google的ClangMR

简介: ClangMR的论文《Large-Scale Automated Refactoring Using ClangMR》:http://www.hyrumwright.org/papers/icsm2013.pdfClangMR是Goolge的一个工具,严格的说,并不属于Clang家族,是属于基于Clang所构建的一个工具。

ClangMR的论文《Large-Scale Automated Refactoring Using ClangMR》:http://www.hyrumwright.org/papers/icsm2013.pdf


ClangMR是Goolge的一个工具,严格的说,并不属于Clang家族,是属于基于Clang所构建的一个工具。Google秉承他们一贯的原则,在构建该工具并投入使用之后,将该工具的情况发了一篇论文《Large-Scale Automated Refactoring Using ClangMR》。论文本身对这个工具已经谈的很细致了,在这里我就简单聊聊读完这篇论文的一点感受,主要聚焦于几个点:

1、这是一个大规模的自动化的重构工具,或者说是平台;

2、该工具的应用范围并没有覆盖到多数的重构类型,主要还是聚焦在用新的API去重构旧的API这个重构上;

3、该工具的重构只支撑translation unit自包含的情况;(这种情况在重构里面属于比较便于自动化重构操作的)

4、因为ClangMR是大规模的自动化工具,所以使用了基于MapReduce的技术,便于处理大量的代码;

5、该工具的工作对象是C++代码库。

如果本身对自动化重构感兴趣的,可以仔细研究下这篇论文。

目录
相关文章
|
6月前
|
开发者 Ruby
揭秘Ruby内存优化的秘密武器!符号(Symbol):为何它能成为你的性能提升神器?
【8月更文挑战第31天】Ruby是一门优雅而强大的编程语言,其设计注重开发者友好与效率。符号(Symbol)作为一种特殊标识符,代表唯一的字符串字面量,在内部以单例形式存在,可显著减少内存消耗。本文将深入探讨符号的机制及其在Ruby中的应用,帮助你通过最佳实践有效利用这一特性。通过将符号用作哈希表的键或代替字符串常量,可以提升程序性能并减少内存使用。然而,过度使用符号可能影响代码可读性,需谨慎权衡。
55 0
|
缓存 Swift iOS开发
iOS 逆向编程(二十二)Hopper Disassmbler 安装使用
iOS 逆向编程(二十二)Hopper Disassmbler 安装使用
294 0
|
Android开发
【Android 逆向】x86 汇编 ( 参考资料 | Intel 官方的文档 | x86 汇编中文文档 | 汇编指令查询器 )
【Android 逆向】x86 汇编 ( 参考资料 | Intel 官方的文档 | x86 汇编中文文档 | 汇编指令查询器 )
287 0
【Android 逆向】x86 汇编 ( 参考资料 | Intel 官方的文档 | x86 汇编中文文档 | 汇编指令查询器 )
|
Windows
同样是编译jogl,不同平台的编译速度相差几十倍?
同样是编译jogl,不同平台的编译速度相差几十倍?
112 0
|
编译器 C++ 前端开发
带你读《LLVM编译器实战教程》之三:工具和设计
本书的前半部分将向您介绍怎么样去配置、构建、和安装LLVM的不同软件库、工具和外部项目。接下来,本书的后半部分将向您介绍LLVM的各种设计细节,并逐步地讲解LLVM的各个编译步骤:前段、中间表示(IR)、后端、即时编译(JIT)引擎、跨平台编译和插件接口。本书包含有大量翔实的示例和代码片段,以帮助读者平稳顺利的掌握LLVM的编译器开发环境。
|
Android开发 C语言 C++
《深入理解LLVM》第一章 LLVM简介
第一章 LLVM简介 作者:史宁宁 1.1 LLVM是什么 LLVM是什么?这是一个虽然基础,但是也曾经让很多新入门的人迷惑的一个问题。从字面上来讲,LLVM(Low Level Virtual Machine)是一个底层虚拟机,LLVM曾经有一部分功能对虚拟机有所帮助。
2562 0
|
存储 搜索推荐 定位技术