Authors:
Juan Julián Merelo-Guervós
1
;
Israel Blancas-Álvarez
1
;
Pedro A. Castillo
1
;
Gustavo Romero
1
;
Pablo García-Sánchez
1
;
Víctor M. Rivas
2
;
Mario García-Valdez
3
;
Amaury Hernández-Águila
3
and
Mario Román
1
Affiliations:
1
University of Granada, Spain
;
2
University of Jaén, Spain
;
3
Tijuana Institute of Technology, Mexico
Keyword(s):
Benchmarking, Implementation of Evolutionary Algorithms, OneMax, Genetic Operators, Programming Languages, Performance Measurements.
Related
Ontology
Subjects/Areas/Topics:
Artificial Intelligence
;
Computational Intelligence
;
Evolutionary Computing
;
Genetic Algorithms
;
Informatics in Control, Automation and Robotics
;
Intelligent Control Systems and Optimization
;
Representation Techniques
;
Soft Computing
Abstract:
Despite the existence and popularity of many new and classical computer languages, the evolu-
tionary algorithm community has mostly exploited a few popular ones, avoiding them, especially
if they are not compiled, under the asumption that compiled languages are always faster than
interpreted languages. Wide-ranging performance analyses of implementation of evolutionary al-
gorithms are usually focused on algorithmic implementation details and data structures, but these
are usually limited to specific languages. In this paper we measure the execution speed of three
common operations in genetic algorithms in many popular and emerging computer languages us-
ing different data structures and implementation alternatives, with several objectives: create a
ranking for these operations, compare relative speeds taking into account different chromosome
sizes and data structures, and dispel or show evidence for several hypotheses that underlie most
popular evolutionary algorithm libraries and
applications. We find that there is indeed basis to
consider compiled languages, such as Java, faster in a general sense, but there are other languages,
including interpreted ones, that can hold its ground against them.
(More)