隐式类型转换c/c++
2011-03-18 20:18
281 查看
001 entre的设计背景及目标
彭飞USTC
pfgenyun@gmail.com
• 龙芯的软件基本上都是开软软件,性能提升有可观的空间。
• 性能优化需要专门的工具软件对程序进行分析,针对性的优化。
• entre是专门为龙芯处理器(MIPS)设计的一款动态二进制的程序分析工具。
• 如基本块执行的频率,指令组合的性能影响,访存的trace跟踪,指令序列的性能分析等等。
• LD_PRELOAD:entre的最终形式是以一个动态库的形式出现,利用同名函数获取程序的执行权限,使得程序在entre的控制下执行。
• 代码缓存:将重复执行的代码缓存在缓冲区中,节省时间。
• 第二代ertre:对架构重新改写,实现虚拟机的架构,并考虑虚拟机的性能,对外提供同意接口。
本文出自 “水手零八” 博客,请务必保留此出处http://lindo.blog.51cto.com/2053922/394206
彭飞USTC
pfgenyun@gmail.com
Entre主页:http://www.xentre.org
1、设计背景
• 龙芯的用户性能体验由龙芯处理器的性能 和基于其上的软件性能构成。• 龙芯的软件基本上都是开软软件,性能提升有可观的空间。
• 性能优化需要专门的工具软件对程序进行分析,针对性的优化。
• entre是专门为龙芯处理器(MIPS)设计的一款动态二进制的程序分析工具。
2、设计目标
• 通过对程序动态二进制代码的分析,为优化程序员、编译器开发者提供有价值的信息。• 如基本块执行的频率,指令组合的性能影响,访存的trace跟踪,指令序列的性能分析等等。
3、技术路线
• 动态插装:entre采用动态插装的方法像执行中的代码植入探针代码,获取程序在处理器上的信息。• LD_PRELOAD:entre的最终形式是以一个动态库的形式出现,利用同名函数获取程序的执行权限,使得程序在entre的控制下执行。
• 代码缓存:将重复执行的代码缓存在缓冲区中,节省时间。
4、版本更新
• 第一代entre:对性能不做太多考虑,主要针对功能性和框架性。通过对二进制代码的整体拷贝和插装实现。代码缓存将缓存整个二进制代码。• 第二代ertre:对架构重新改写,实现虚拟机的架构,并考虑虚拟机的性能,对外提供同意接口。
本文出自 “水手零八” 博客,请务必保留此出处http://lindo.blog.51cto.com/2053922/394206
相关文章推荐
- c++隐式类型转换和explicit
- 隐式类型转换(C++学习)
- c++设计中可以利用重载避免隐式类型转换
- C++类型隐式转换
- [C++]复制构造函数、赋值操作符与隐式类类型转换
- C++隐式类型转换 operator
- c++基础--隐式类类型转换
- 【C++】隐式类型转换和 explicit关键字
- 隐式类型转换(C++学习)
- 避免C++隐式类型转换
- c++类型转换static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较,显示转换,隐式转换
- C++中的类型转换之隐式与显示转换
- 【c++】explicit 隐式类类型转换
- C++ 类类型隐式转换
- C++ 用operator实现隐式类型转换
- C++ 类型隐式转换学习
- More Effective C++ (条款21:利用重载技术避免隐式类型转换)
- C++ 对象构造, 拷贝, 赋值和隐式类型转换总结
- C++ 隐式类型转换与关键字explicit
- C++中显式和隐式初始化和类型转换