Variadic genericity through linguistic reflection : a performance evaluation
MetadataShow full item record
The use of variadic genericity within schema definitions increases the variety of databases that may be captured by a single specification. For example, a class of databases of engineering part objects, in which each database instance varies in the types of the parts and the number of part types, should lend itself to a single definition. However, precise specification of such a schema is beyond the capability of polymorphic type systems and schema definition languages. It is possible to capture such generality by introducing a level of interpretation, in which the variation in types and in the number of fields is encoded in a general data structure. Queries that interpret the encoded information can be written against this general data structure. An alternative approach to supporting such variadic genericity is to generate a precise database containing tailored data structures and queries for each different instance of the virtual schema.1 This involves source code generation and dynamic compilation, a process known as linguistic reflection. The motivation is that once generated, the specific queries may execute more efficiently than their generic counter-parts, since the generic code is “compiled away”. This paper compares the two approaches and gives performance measurements for an example using the persistent languages Napier88 and PJama.
Kirby , G N C & Morrison , R 1999 , Variadic genericity through linguistic reflection : a performance evaluation . in R Morrison , M Jordan & M Atkinson (eds) , 8th International Workshop on Persistent Object Systems (POS8) and 3rd International Workshop on Persistence and Java (PJW3) . Morgan Kaufmann , pp. 136-148 , 8th International Workshop on Persistent Object Systems (POS8) , Tiburon , United States , 30 August .conference
8th International Workshop on Persistent Object Systems (POS8) and 3rd International Workshop on Persistence and Java (PJW3)
This is the author's version of the paper. Published version ©1999 Morgan Kaufmann Publishers Inc. San Francisco, CA, USA
This work is partially supported by the EPSRC through Grant GR/L32699 “Compliant System Architecture” and by ESPRIT through Working Group EP22552 “PASTEL”.
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.