Project - Stage 3 - Optimization - Additional Flags - aarchie

In this post I'll be testing options that are not enabled by any of -O levels, and it may help further optimize the program.
These options will be added on top of -O3 level.

-fmerge-all-constants : Attempt to merge identical constants and identical variables




-floop-parallelize-all : Use the Graphite data dependence analysis to identify loops that can be parallelized.

-ftree-loop-distribution : Perform loop distribution.

==Previous CFLAGS==
CFLAGS=-Wall -Winline -O3 -g

==New CFLAGS==
CFLAGS=-Wall -Winline -O3 -fmerge-all-constants -floop-parallelize-all -ftree-loop-distribution -g

==RESULTS==

sample.txt





largeImage.jpg





==DIFFERENCES==





-O3 option proved to show, though not by much, some improvement in the performance.
Compression of random text file was 0.77% faster, and compression of large image was 0.28% faster.

Comparing to the results from -O3 alone this test had 0.04% improvement compressing random text file, but 0.06% reduction compressing large image file.

Next step is to dive into the code files, explore the algorithms and see if any changes can be made on the code level for optimization.

For testing the algorithm changes the program will be built with -O3 option only.

Comments