Abstract
A compiler is a system software that takes code written in a high-level language as input and converts it into machine code by selecting the appropriate instructions from the instruction set of the corresponding computer architecture. Thus, depending on this selection process, different conversions with the same functionality are possible. Consequently, there are studies in the literature that compare the performance of different compilers on problems from various domains. However, to the best of our knowledge, no research has yet investigated the impact of different versions of a compiler on the optimization domain. This study seeks to fill this research gap by examining the effects of different versions of GCC on TSP, a well-known combinatorial optimization problem, for the first time in the literature. In this respect, seven different versions of GCC were employed, and four widely used metaheuristics, namely Simulated Annealing, Genetic Algorithm, Tabu Search, and Ant Colony Optimization, were implemented in C++ programming language to solve TSP. The experiments conducted have revealed that different versions of GCC make a significant difference in the performance of various metaheuristic-based solvers for TSP.


Similar content being viewed by others
Data availability
This declaration is “not applicable.”
References
Patterson DA, Hennessy JL (2014) Computer organization and design: the hardware/software interface, 5th edn. Morgan Kaufmann, Burlington, Massachusetts
Hennessy JL, Patterson DA (2017) Computer architecture: a quantitative approach, 6th edn. Morgan Kaufmann, Burlington, Massachusetts
Parhami B (2019) Computer architecture for big data. Springer International Publishing, New York
Murdocca MJ, Heuring VP (2000) Principles of computer architecture. Prentice Hall, Hoboken, New Jersey
Grune D, Van Reeuwijk K, Bal HE, Jacobs CJ, Langendoen K (2012) Modern compiler design. Springer Science Business Media, Berlin/Heidelberg, Germany
Shiva SG (2007) Computer organization, design, and architecture. CRC Press, Boca Raton, Florida
Celik E, Dal D (2021) A novel simulated annealing-based optimization approach for cluster-based task scheduling. Cluster Comput 24:2927–2956
Otubamowo K, Egunjobi T, Adewole A (2012) A comparative study of simulated annealing and genetic algorithm for solving the travelling salesman problem, Int J Appl Inform Syst(IJAIS)
Reinhelt G TSPLIB: A library of sample instances for the TSP (and related problems) from various sources and of various types. [Online] http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/
Nesmachnow S, Cancela H, Alba E (2012) A parallel micro evolutionary algorithm for heterogeneous computing and grid scheduling. Appl Soft Comput 12(2):626–639
Wang Y, Han Z (2021) Ant colony optimization for traveling salesman problem based on parameters optimization. Appl Soft Comput 107:107439
Novillo D (2006) GCC-an architectural overview, current status, and future directions. In: Proceedings of the linux symposium, vol 2, p 185
Free Software Foundation I GCC, the GNU Compiler Collection. [Online] https://gcc.gnu.org/
Lattner C, Adve V (2003) Architecture for a next-generation Gcc, In: GCC developers summit, p 121, Citeseer
Machado RS, Almeida RB, Jardim AD, Pernas AM, Yamin AC, Cavalheiro GGH (2017) Comparing performance of C compilers optimizations on different multicore architectures, In: 2017 international symposium on computer architecture and high performance computing workshops (SBAC-PADW), pp 25–30, IEEE
Tu Q (2002) On navigation and analysis of software architecture evolution, Master’s thesis, University of Waterloo
Ezhil P et al (2021) Experimental analysis of optimization flags in GCC. Turkish J Comput Math Educ (TURCOMAT) 12(7):1875–1879
Tagtekin B, Hoke B, Sezer MK, Ozturk MU (2021) FOGA: flag optimization with genetic algorithm, arXiv preprint arXiv:2105.07202
Ballal PA, Sarojadevi H, Harsha P (2015) Compiler optimization: a genetic algorithm approach. Int J Comput Appl, 112(10)
Jones MT (2005) Optimization in GCC. Linux J 2005(131):11
Silberschatz A, Galvin PB, Gagne G (2018) Operating system concepts, 10th edn. Wiley Publishing, Hoboken, New Jersey
Kukunas J (2015) Power and performance: software analysis and optimization. Morgan Kaufmann, Burlington, Massachusetts
Ezike J (2020) Tabu search with explicit adaptive guiding heuristic for the examination timetabling problem. NIPES J Sci Technol Res 2(3):52–69
Kumar P, Verma A (2012) Scheduling using improved genetic algorithm in cloud computing for independent tasks, In: Proceedings of the International Conference on Advances in Computing, Communications and Informatics, pp 137–142
Attiya G, Hamam Y (2006) Task allocation for maximizing reliability of distributed systems: a simulated annealing approach. J Parallel Distrib Comput 66(10):1259–1266
Liu Y, Xu L, Han Y, Zeng X, Yen GG, Ishibuchi H (2023) Evolutionary multimodal multiobjective optimization for traveling salesman problems, In: IEEE transactions on evolutionary computation, vol Early Access, pp 1
Chen D, You X, Liu S (2022) Ant colony algorithm with stackelberg game and multi-strategy fusion. Appl Intell 52(6):6552–6574
Cinar AC, Korkmaz S, Kiran MS (2020) A discrete tree-seed algorithm for solving symmetric traveling salesman problem. Eng Sci Technol Int J 23(4):879–890
Feng JG, He YP, Tao QM (2021) Evaluation of compilers capability of automatic vectorization based on source code analysis. Sci Programm 2021:1–15
Wang X, Jhi Y-C, Zhu S, Liu P (2009) Behavior based software theft detection, In: Proceedings of the 16th ACM Conference on Computer and Communications Security, p 280-290
Shivam A (2021) A multiple compiler approach for improved performance and efficiency. PhD thesis, UC Irvine
Lin S-C, Chang C-K, Lin N-W (2008) Automatic selection of GCC optimization options using a gene weighted genetic algorithm, In: 13th Asia-Pacific Computer Systems Architecture Conference, pp 1–8, IEEE
Escobar RD, Angula AR, Corsi M (2012) Evaluation of GCC optimization parameters. Revista Ingenierias USBmed 3(2):31–39
Gmys J, Carneiro T, Melab N, Talbi E-G, Tuyttens D (2020) A comparative study of high-productivity high-performance programming languages for parallel metaheuristics. Swarm Evolution Comput 57:100720
Pérez Cáceres L, Pagnozzi F, Franzin A, Stützle T (2018) Automatic configuration of GCC using irace, In: Artificial Evolution: 13th International Conference, Évolution Artificielle, EA 2017, Paris, France, October 25–27, 2017, Revised Selected Papers 13, pp 202–216, Springer
Sandran T, Zakaria N, Pal AJ (2012) An optimized tuning of genetic algorithm parameters in compiler flag selection based on compilation and execution duration, In: Proceedings of the International Conference on Soft Computing for Problem Solving (SocProS 2011), pp 599–610, Springer
Ladd SR (2007) Acovea: analysis of compiler options via evolutionary algorithm, Describing the Evolutionary Algorithm
Zhong S, Shen Y, Hao F (2009) Tuning compiler optimization options via simulated annealing, In: 2009 Second International Conference on Future Information Technology and Management Engineering, pp 305–308, IEEE
Ansel J, Kamil S, Veeramachaneni K, Ragan-Kelley J, Bosboom J, O’Reilly U-M, Amarasinghe S (2014) Opentuner: an extensible framework for program autotuning, In: Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, pp 303–316
Marcon C, Smirnova O, Muralidharan S (2020) Impact of different compilers and build types on geant4 simulation execution time, In: EPJ Web of Conferences, vol 245, p 05037, EDP Sciences
Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Science 220(4598):671–680
Arshad S, Yang S (2010) A hybrid genetic algorithm and inver over approach for the travelling salesman problem, In: IEEE congress on evolutionary computation, pp 1–8, IEEE
Morady R, Dal D (2016) A multi-population based parallel genetic algorithm for multiprocessor task scheduling with communication costs, In: 2016 IEEE symposium on computers and communication (ISCC), pp 766–772, IEEE
Mansur AA, Amin MR, Islam KK (2019) Performance comparison of mismatch power loss minimization techniques in series-parallel PV array configurations. Energies 12(5):874
Glover F (1989) Tabu Search-Part I. ORSA J Comput 1(3):190–206
Colorni A, Dorigo M, Maniezzo V et al. (1991) Distributed optimization by ant colonies, In: Proceedings of the First European Conference on Artificial Life, vol 142, p 134–142, Paris, France
Dorigo M, Gambardella L (1997) Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans Evolution Comput 1(1):53–66
Funding
This declaration is “not applicable.”
Author information
Authors and Affiliations
Contributions
D.D. and E.C. contributed to the design and implementation of the research, to the analysis of the results and to the writing of the manuscript.
Corresponding author
Ethics declarations
Conflict of interest
This declaration is “not applicable.”
Ethical approval
This declaration is “not applicable.”
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Dal, D., Celik, E. Investigation of the impact of different versions of GCC on various metaheuristic-based solvers for traveling salesman problem. J Supercomput 79, 12394–12440 (2023). https://doi.org/10.1007/s11227-023-05152-z
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-023-05152-z