Performance Analysis of BSTs in System Software [Extended Abstract] Ben Pfaff Stanford University Department of Computer Science blp@cs.stanford.edu Categories and Subject Descriptors: E.1 [Data Structures]: trees; E.2 [Data Storage Representations]: linked representations; C.4 [Performance of Systems]: performance attributes General Terms: algorithms, performance Keywords: binary search tree, BST, threaded tree, AVL tree, red-black tree, splay tree 3. EXPERIMENTS We ran three experiments to test the 20 variations on binary search trees described in the previous section. 3.1 VMAs 1. INTRODUCTION OS kernels often use binary search tree (BST) based data structures. Choosing the right tree and node representation can signi cantly impact the performance of code that uses these data structures. Surprisingly, there has been little empirical study of the relationship between the algorithms used for managing BST-based data structures and performance characteristics in real systems [6, 2, 10]. This extended abstract outlines performance results for 20 total BST variants: four data structure variants each with ve di erent node representations. 2. DATA STRUCTURES In an ordinary BST, insertion of data items in a pathological order, such as sorted order, causes performance to drop from O(lg n) to O(n) per operation in a n-node tree [7]. One solution is
/lp/association-for-computing-machinery/performance-analysis-of-bsts-in-system-software-omH6O1zhT8