Port gprofng for RISC-V
简单介绍一下 gprofng 的功能 由于 gprofng 可以对可执行程序直接进行分析不需要重新编译源码,所以对闭源软件进行性能评测也很方便。 对 C、C++、Java 或者 Scala 程序进行性能分析 支持 Pthread、OpenMP 和 Java thread 多线程编程模型 gprofng 主要数据收集命令 gprofng collect app 运行时一般使用程序计数器(PC)采样 (Sample) 简单介绍一下 gprofng 的安装方法 直接用各大发行版的软件包管理器安装 从源码开始编译安装 https://github.com/bminor/binutils-gdb/tree/master/gprofng 简单介绍一下 gprofng 的使用方法 首先收集数据: gprofng collect app {your app} eg. gprofng collect app echo 1 上述命令会生成 test.n.er 文件夹,里面是收集的数据。 然后进行处理: gprofng display text -func -exp -head test.{times}.er/ 简单介绍一下 port 过程干了啥 添加 binutils-gdb 的 –enable-gprofng 支持的架构 configure.ac中判断是否开启构建 gprofng 的 target 里面添加 riscv64 的 1triplet。 gnu configure.ac 的介绍官网链接 虽然很短一段但是翻译过来放在我的博客文章中却可以显得我的博客很长: 新建名为 configure.ac 、包含调用 Autoconf 用来检测软件包所需或者可以使用的系统特性的宏的文件来给软件包生成 configure 脚本。 从描述上看,Autoconf 已有的宏可以检测多种特性;详见已有检测 也可以使用 Autoconf 模版来生成一般性检测宏;详见写检测 对于特殊的特性,configure.ac 可能需要手写 shell 命令;详见可移植 shell autoscan 程序可以帮助你快速入门写 configure.ac ,详见autoscan 调用; 同理在 gprofng 文件夹中的 configure.ac 中也添加 RISC-V 架构相关配置信息。 ...