{'fraction_non_alphanumeric': 0.023391812865497075, 'fraction_numerical': 0.0014619883040935672, 'mean_word_length': 5.523809523809524, '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}}
Memory access analysis and optimization approaches on splay trees

Splay trees, a type of self-adjusting search tree, are introduced and analyzed. Since they have been widely used in search problems, any performance improvements will yield great benefits. First, the paper introduces some background about splay trees and memory hierarchies. Then, it presents two heuristic algorithms, based on research in reference affinity and data regrouping. These algorithms have good locality, reduce memory transfers, and decrease cache miss rates on different architectures. Finally, the paper evaluates the performance gain of these algorithms on random inputs and Spec2K benchmark programs.