| Limsoon Wong. An introduction to Remy's fast polymorphic projection. ACM $IGMOD Record, 24(3):34-39, September 1995. |
....and parametric polymorphism. a record A Remy record is a pair rno and val. Rno is the directory number generated from the field labels of the record. Va is an array storing the values of fields of the record. The actual position of a field of the record in va is hashed using the mo. See [21] for detail. MkRNo r m n Assume m is a list of label numbers. Assume r is the directory number corresponding to m, thus r Remy. Mk m. Assume n is the list of values at corresponding fields in m. Return the corresponding Remy record. Mkmn The Remy record having fields m and values n at ....
....in m. Return the corresponding Remy record. Mkmn The Remy record having fields m and values n at these fields. MkZip [ ml, gl) ink, The Remy record having fields ml, mk and values nl, nk at these fields. operation, do not use unless you know exactly what you are doing. See [21] for more information. Proj m n The value at the m field of record n. This works as long as n has an m field. This is also a constant time operation. Offset m n The offset of the m field of record n. Recall that the Val component of n is an array. This offet is the index to the slot of the ....
[Article contains additional citation context not shown here]
Limsoon Wong. An introduction to Remy's fast polymorphic projection. ACM $IGMOD Record, 24(3):34-39, September 1995.
....this case, the record projection becomes linear time, as it must be done by traversing the list to look for the pair having the right field name. Fortunately, Remy discovered an alternative method to define Record.record that has very low space overhead and enables constant time record projection [22, 15]. Very briefly, Remy s method is as follows. We take advantage of the fact that when a record object is created, we know how many fields it has and what are the labels naming these fields. We assign to each label that we have seen a distinct number A(l) We do not have to know what is the type of ....
....different real records share the same directory. We performed experiments and verified that its speed overhead is at most eight times of the ideal scenario where all fields are known in advance. The overhead can be further reduced to at most three times the ideal scenario when sets are homogeneous[22]. From the definition of CO, it is clear that the tree of unions of singletons representation of sets allows some branches to be lazy and some branches to be non lazy. For example, in UnionSet (UnionSet L, lUnionSet R) L is non lazy but R is lazy. Such mixing is useful because in the ....
L. Wong. An introduction to Remy's fast polymorphic projection. ACM SIGMOD Record, 24(3):34--39, 1995.
....constructors Record and Proj represent the formation and the field selection constructs for records in CPL. Note that the details of a record such as its field labels and values at those fields are packed away in a remyrecord, which is a representation based on an idea of Remy [20] as described in [29]. It is unnecessary to know the details to program the optimizer. 13 The Variable, Fun, and Apply constructors correspond to referencing a variable, forming a function, and applying a function. The Primitive constructor is for referencing an external or imported primitive. The Read constructor ....
....on polymorphic but homogeneous records by direct jumps. It is carried out using the EntireOnce strategy. This is a low level optimization exploiting certain properties of the runtime representation of records in Kleisli. The basic idea and the impact of 18 this optimization are explained in [29]. Phases 19 21. These are the re annotation phases. They are carried out using the BottomUpOnce rule application strategy. In essence, the rules in these phases decide which parts of the query are to be executed lazily, eagerly, and or in parallel. 4.3 Rule Representation In this subsection we ....
Limsoon Wong. An introduction to Remy's fast polymorphic projection. ACM SIGMOD Record, 24(3):34--39, September 1995.
....type system. Its type system is further augmented with another invention from the functional programming community: parametric record polymorphism [21, 25] Although CPL s view of record type variables is closer to that in Machiavelli [21] than the row variables of Remy [25] the implementation [35] of polymorphic records in Kleisli is based on a clever idea of Remy [26] The most noticeable feature of CPL, the comprehension syntax, made its appearance many years ago in the programming language world in languages such as Miranda. It was also discussed earlier and elsewhere [8] that the core ....
L. Wong. An introduction to Remy's fast polymorphic projection. ACM SIGMOD Record, 24(3):34-- 39, 1995.
....with 32 MB memory in Singapore. The data sources were located in the east coast of the United States in Philadelphia (for Sortez) and Baltimore (for GDB) All accesses relied on a conjested T1 link between the two countries. Note that for combine we used two connections to Sortez. 28 Limsoon Wong Number of Entries 20 50 80 110 140 170 Total combine 42 53 77 109 133 179 Time combine 26 63 91 142 142 159 (sec) combine 19 37 49 64 80 100 Response combine 42 53 77 108 132 178 Time combine 7 11 8 7 9 13 (sec) combine 10 9 8 7 8 14 The performance improvement shown above had been achieved using CPL without ....
Wong, L. (1995a). An introduction to Remy's fast polymorphic projection. ACM SIGMOD Record, 24(3), 34--39.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC