{'fraction_non_alphanumeric': 0.015444015444015444, 'fraction_numerical': 0.003861003861003861, 'mean_word_length': 5.1, '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}}
Evaluating whether the training data provided for profile feedback is a realistic control flow for the real workload

Profile feedback Optimization (PFO) techniques are used to improve the performance of compiler generated code. Under PFO, the code is compiled twice. The first compilation produces an instrumented version of the code. This instrumented version is then run with a ‘representative’ workload to generate a profile. This profile is used as an input into the second compilation of the code. One of the problems associated with using profile feedback is determining whether the workload used for training is appropriate. In this paper we develop metrics to define whether or not a workload is representative. Using these metrics, we evaluate whether the training workloads provided for the SPEC CPU2000 benchmark suite are appropriate and illustrate that, for several of the benchmarks, there are significant problems. This analysis was also used as part of the process of defining the workloads used in the forthcoming SPEC