{'fraction_non_alphanumeric': 0.016611295681063124, 'fraction_numerical': 0.0049833887043189366, 'mean_word_length': 5.478494623655914, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Dynamic Optimization Option Search in GCC

A set of carefully selected compiler optimization options could provide an additional performance boost over the current best default optimization options in the GNU Compiler Collection (GCC) C compiler. However, there are more than 60 optimization options in GCC compiler, which translate to over 260 possible combinations. GCC compiler developers are therefore faced with a challenge. The goal is to automate the process of optimization search, taking into consideration the properties of the program. The resulting customized set of options is aimed at out performing the best default options available in GCC. In this paper, we present a novel machine-learning based method for dynamic optimization option search in GCC compiler, which automatically derives the best candidate set of optimization options based on the input program properties. An automated program analysis considers input program objects such as selected functions, program segments, or even the whole programs. The preliminary tests show that this method provides better performance over any default optimization level including -O3, while the additional compilation time remains minimal.