我们是否可以使用 g++ 编译代码通过 Solaris Studio 的性能分析器进行性能分析?

Can we use g++ compile code to do performance analysis with Solaris Studio's Performance Analyser?

本文关键字:性能 分析器 Studio Solaris 可以使 是否 g++ 编译 代码 我们      更新时间:2023-10-16

运行收集命令时出现以下错误

样品$collect-cbit(警告):无法对/home/user1/ANALYSIS/SAMPLE_PROGRAM/SAMPLE进行操作。请在带有Solaris10更新5或更高版本(或OpenSolaris版本snv_52或更高)的机器上重新编译它。如果使用较旧的操作系统,请尝试-xbinot=prepare(仅限SPARC)。

示例程序是用以下g++标志构建的

g++-c-墙-g3-m64-pthread-O2-DSOLARIS-DSS_64BIT_SERVER

示例程序很简单仅包含以下代码while (true) { sleep (10); }

我只是想看看c++代码编译的代码是否可以与collect命令一起使用。由于我们有一个巨大的g++编译的二进制文件,我们不想再使用Solaris Studio C++编译器进行编译

我不这么认为。Studio选项-xbinopt=prepare包含了使用性能计数器的二进制文件的特殊代码。我已经好几年没用了。。。就我记忆所及,-xbinopt=prepare使二进制将性能数据写入CWD(或其他参数指定的目录)中的文件,稍后您可以将这些数据与-xbinopt=use一起使用。规则首先用prepare编译,然后运行以收集数据,然后用收集的性能数据重新编译以获得更好的优化代码。类似于JIT编译器,但在编译时。