Search code examples
performanceoptimizationgccexecution-timecode-size

Is there a method/function to get the code size of a C program compiled using GCC compiler? (may vary when some optimization technique is applied)


  • Can I measure the code size with the help of an fseek() function and store it to a shell variable?
  • Is it possible to extract the code size, compilation time and execution time using milepost gcc or a GNU Profiler tool? If yes, how to store them into shell variables?

Since my aim is to find the best set of optimization technique upon the basis of the compilation time, execution time and code size, I will be expecting some function that can return these parameters.

MyPgm=/root/Project/Programs/test.c
gcc -Wall -o1 -fauto-inc-dec $MyPgm -o output
time -f "%e" -o Output.log ./output
while read line;
do
echo -e "$line";
Val=$line
done<Output.log

This will store the execution time to the variable Val. Similarly, I want to get the values of code size as well as compilation time. I will prefer something that I can do to accomplish this, without using an external program!


Solution

  • for code size on linux, you can use size command on terminal. $size file-name.out

    it will give size of different sections. use text section for code size. you can use data and bss if you want to consider global data size as well.