{'fraction_non_alphanumeric': 0.011123470522803115, 'fraction_numerical': 0.0, 'mean_word_length': 5.122448979591836, '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}}
Analysis of memory use for improved design and compile-time allocation of local memory

New trace analysis techniques are used to study memory referencing behavior for the purpose of designing new local memories and determining how to allocate them for data and instructions. In an attempt to assess the inherent behavior of the source code. the trace analysis system described here reduces the effects of the compiler and host architecture on the trace by using a technique called flattening. The variables in the trace. their associated single-assignment values, and references are histogrammed on the basis of various parameters describing memory referencing behavior. Bounds are developed specifying the amount of memory space required to store all live values in a particular histogram class. The reduction achieved in main memory traffic by allocating local memory is specified for each class.