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

StackOverflow https://stackoverflow.com/questions/21071083

  •  27-09-2022
  •  | 
  •  

Question

I am getting the following error while running the collect command

$ collect -c on sample bit (warning): Cannot operate on /home/user1/ANALYSIS/SAMPLE_PROGRAM/sample. Ple ase recompile it on a machine with Solaris10 update 5 or higher (or OpenSolaris version snv_52 or higher). If using an older OS, try -xbinopt=prepare (SPARC onl y).

The sample program was build with following g++ flags

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

The sample program is simple contains only the following code while (true) { sleep (10); }

I was just trying to see whether c++ code compiled code can be used with collect command. As we have a huge g++ compiled binary which we would not like to compile again with Solaris Studio C++ compilers

Was it helpful?

Solution

I don't think so. Studio option -xbinopt=prepare includes special code to binaries to use performance counters. I haven't been using it for years... as far as I remeber -xbinopt=prepare makes binary to write perfomance data to files in CWD (or dir specified by other parameter) and late you can use those data with -xbinopt=use. Rules are compile 1st with prepare, then run to collect data, later recompile with collected performance data to get better optimized code. Similar to JIT compiler, but in compile time.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top