Matches in SemOpenAlex for { <https://semopenalex.org/work/W2084103658> ?p ?o ?g. }
- W2084103658 endingPage "5" @default.
- W2084103658 startingPage "5" @default.
- W2084103658 abstract "A fundamental problem in the implementation of object-oriented languages is that of a frugal implementation of dynamic dispatching, that is, a small footprint data structure that supports quick response to runtime dispatching queries of the following format: which method should be executed in response to a certain message sent to a given object. Previous theoretical algorithms for this problem tend to be impractical due to their conceptual complexity and large hidden constants. In contrast, successful practical heuristics lack theoretical support. The contribution of this article is in a novel type slicing technique, which results in two dispatching schemes: TS and CT d . We make the case for these schemes both practically and theoretically. The empirical findings on a corpus of 35 hierarchies totaling some 64 thousand types from eight different languages, demonstrate improvement over previous results in terms of the space required for the representation, and the time required for computing it. The theoretical analysis is with respect to ι, the best possible compression factor of the dispatching matrix. The results are expressed as a function of a parameter κ, which can be thought of as a metric of the complexity of the topology of a multiple inheritance hierarchy. In single inheritance hierarchies κ = 1, but although κ can be in the order of the size of the hierarchy, it is typically a small constant in actual use of inheritance; in our corpus, the median value of κ is 5, while its average is 6.4. The TS scheme generalizes the famous interval containment technique to multiple inheritance. TS achieves a compression factor of ι/κ, that is, our generalization comes with an increase to the space requirement by a small factor of κ. The pay is in the dispatching time, which is no longer constant as in a naive matrix implementation, but logarithmic in the number of different method implementations. In practice, dispatching uses one indirect branch and, on average, only 2.5 binary branches. The CT schemes are a sequence of algorithms CT 1 , CT 2 , CT 3 , …, where CT d uses d memory dereferencing operations during dispatch, and achieves a compression factor of 1/ d ι 1−1/ d in a single inheritance setting. A generalization of these algorithms to a multiple inheritance setting, increases the space by a factor of (2κ) 1−1/ d . This trade-off represents the first bounds on the compression ratio of constant-time dispatching algorithms. We also present an incremental variant of the CT d suited for languages such as Java." @default.
- W2084103658 created "2016-06-24" @default.
- W2084103658 creator A5026704587 @default.
- W2084103658 creator A5072236461 @default.
- W2084103658 date "2007-11-01" @default.
- W2084103658 modified "2023-09-27" @default.
- W2084103658 title "Efficient dynamic dispatching with type slicing" @default.
- W2084103658 cites W1571046813 @default.
- W2084103658 cites W1966217640 @default.
- W2084103658 cites W1978220161 @default.
- W2084103658 cites W1979109797 @default.
- W2084103658 cites W1993318777 @default.
- W2084103658 cites W2001689526 @default.
- W2084103658 cites W2006433888 @default.
- W2084103658 cites W2012442667 @default.
- W2084103658 cites W2024491681 @default.
- W2084103658 cites W2026511056 @default.
- W2084103658 cites W2029013296 @default.
- W2084103658 cites W2034993345 @default.
- W2084103658 cites W2046569047 @default.
- W2084103658 cites W2049435975 @default.
- W2084103658 cites W2050362115 @default.
- W2084103658 cites W2052988121 @default.
- W2084103658 cites W2077229436 @default.
- W2084103658 cites W2087055646 @default.
- W2084103658 cites W2089729225 @default.
- W2084103658 cites W2090747326 @default.
- W2084103658 cites W2130055503 @default.
- W2084103658 cites W2152506638 @default.
- W2084103658 cites W2180690638 @default.
- W2084103658 cites W3003157687 @default.
- W2084103658 cites W3018368990 @default.
- W2084103658 cites W4244044692 @default.
- W2084103658 cites W4244522209 @default.
- W2084103658 doi "https://doi.org/10.1145/1290520.1290525" @default.
- W2084103658 hasPublicationYear "2007" @default.
- W2084103658 type Work @default.
- W2084103658 sameAs 2084103658 @default.
- W2084103658 citedByCount "3" @default.
- W2084103658 crossrefType "journal-article" @default.
- W2084103658 hasAuthorship W2084103658A5026704587 @default.
- W2084103658 hasAuthorship W2084103658A5072236461 @default.
- W2084103658 hasBestOaLocation W20841036581 @default.
- W2084103658 hasConcept C104317684 @default.
- W2084103658 hasConcept C111919701 @default.
- W2084103658 hasConcept C11413529 @default.
- W2084103658 hasConcept C127705205 @default.
- W2084103658 hasConcept C154945302 @default.
- W2084103658 hasConcept C162319229 @default.
- W2084103658 hasConcept C162324750 @default.
- W2084103658 hasConcept C173801870 @default.
- W2084103658 hasConcept C176217482 @default.
- W2084103658 hasConcept C17744445 @default.
- W2084103658 hasConcept C185592680 @default.
- W2084103658 hasConcept C199360897 @default.
- W2084103658 hasConcept C199539241 @default.
- W2084103658 hasConcept C21547014 @default.
- W2084103658 hasConcept C2776359362 @default.
- W2084103658 hasConcept C2777027219 @default.
- W2084103658 hasConcept C2780902518 @default.
- W2084103658 hasConcept C2781238097 @default.
- W2084103658 hasConcept C311688 @default.
- W2084103658 hasConcept C31170391 @default.
- W2084103658 hasConcept C34447519 @default.
- W2084103658 hasConcept C41008148 @default.
- W2084103658 hasConcept C55493867 @default.
- W2084103658 hasConcept C80444323 @default.
- W2084103658 hasConcept C94625758 @default.
- W2084103658 hasConceptScore W2084103658C104317684 @default.
- W2084103658 hasConceptScore W2084103658C111919701 @default.
- W2084103658 hasConceptScore W2084103658C11413529 @default.
- W2084103658 hasConceptScore W2084103658C127705205 @default.
- W2084103658 hasConceptScore W2084103658C154945302 @default.
- W2084103658 hasConceptScore W2084103658C162319229 @default.
- W2084103658 hasConceptScore W2084103658C162324750 @default.
- W2084103658 hasConceptScore W2084103658C173801870 @default.
- W2084103658 hasConceptScore W2084103658C176217482 @default.
- W2084103658 hasConceptScore W2084103658C17744445 @default.
- W2084103658 hasConceptScore W2084103658C185592680 @default.
- W2084103658 hasConceptScore W2084103658C199360897 @default.
- W2084103658 hasConceptScore W2084103658C199539241 @default.
- W2084103658 hasConceptScore W2084103658C21547014 @default.
- W2084103658 hasConceptScore W2084103658C2776359362 @default.
- W2084103658 hasConceptScore W2084103658C2777027219 @default.
- W2084103658 hasConceptScore W2084103658C2780902518 @default.
- W2084103658 hasConceptScore W2084103658C2781238097 @default.
- W2084103658 hasConceptScore W2084103658C311688 @default.
- W2084103658 hasConceptScore W2084103658C31170391 @default.
- W2084103658 hasConceptScore W2084103658C34447519 @default.
- W2084103658 hasConceptScore W2084103658C41008148 @default.
- W2084103658 hasConceptScore W2084103658C55493867 @default.
- W2084103658 hasConceptScore W2084103658C80444323 @default.
- W2084103658 hasConceptScore W2084103658C94625758 @default.
- W2084103658 hasIssue "1" @default.
- W2084103658 hasLocation W20841036581 @default.
- W2084103658 hasOpenAccess W2084103658 @default.
- W2084103658 hasPrimaryLocation W20841036581 @default.
- W2084103658 hasRelatedWork W1549289070 @default.