The program count allows to determine of the execution time for specific operations. There are one input parameters which you have to enter after starting the program: ict selects the operation (check the program) The parameter n in the program can be used to determine the number of executions. Currently it is set to n=10000 which yield 10^8 executions of the respective operation n is the number of outer loops (the inner loop parameter is set to 10000 such that a choice of n=10000 implies 10^8 executions of the operations specified in the loop. For proper evaluation run the program with different compiler optimizations, e.g., with the default optimization or with -O1 -O2 etc. Modern compilers may show unexpected behavior. For instance in some cases where the operations within a do loop do not depend on the loop index (and are explicit) the compiler may execute the operation only once giving a timing result basically equivalent to an empty loop. Also compare as far as possible the actual result of the execution for different optimization. The results may not be identical in which case either the result from the default or from the optimized code should be rejected (depending on which one is correct) On linux systems you can time the result with the command: how:count> time ./count value for ict 1 10000 ict= 1 1.10000002 0.214u 0.005s 0:07.46 2.8% 0+0k 0+0io 130pf+0w Here the last line is created by the time command. the first entry is the time for the program execution in seconds.