

Spiky and Flat Dynamic Profiles
Dynamic profiles are central to the field specialization process. Runtime profiles are used in the first five steps in the Field Specialization process to identify attractive specialization opportunities, by successively narrowing down the scope to individual functions or even blocks or individual lines of code within those functions. A spiky dynamic profile, with some functions contributing a significant percentage of the total runtime (and the remaining functions each contr


Field Specialization: Reusable and Independent
Field specialization has two especially helpful attributes. First, specializations are reusable across queries. Second, specializations are independent of each other. A specialization is applied to a specific hotspot revealed by dynamic analysis tools that collect information during program execution. In a DBMS, examples of such hotspots are the table scan operation, the evaluation of aggregate functions, and the evaluation of predicates. Given that these operations can be ex


Field specialization is simple to apply
Field specialization applies to hotspots at the routine level and sometimes even to short code segments within a routine. As an example, field specialization could be applied to a particular hot loop, minimizing the code changes required. Further, specialization can be applied individually to specific hotspots within the same function, or to many such hotspots collectively. Such flexibility results in small specializations and enables field specializations to be applied rapid


Workloads and Specializations: A Surprising Interaction
This is like a koan: the performance benefits from field specialization are simultaneously independent of workloads used to generate that specialization and intimately aware of details of the workload it is speeding up. Recall that field specialization generates, at compile-time or at run-time, code that is tailored to invariants that runs faster. The original DBMS code region where invariants are present is called a specialization opportunity and the code added to the DBMS,


Continuous Field Specialization
While working with our customers, one common question we receive is the following: Is field specialization applied once and will it potentially cease to improve performance? Another: We have done optimizations ourselves; what else can field specialization provide? The honest answer to these questions, at the beginning, was that we didn’t know. It was through the interactions and collaboration with our customers that the true potential of field specialization technology emerg