You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For the sake of metadata propagation, Cassette will intercept getfield(x, :f) (before type inference) and convert it into something like Cassette._getfield(x, Val(:f)). Bringing :f into the type domain is necessary to enable the type-stable construction of "shadow structs" that can store metadata alongside normal structs.
According to a comment by @vtjnashin the base getfield overloading issue, there is some concern that such an approach may thwart necessary optimizations (such as optimizing namespace references).
The text was updated successfully, but these errors were encountered:
jrevels
changed the title
upstream perf issue: overhead of getfield projection approach
overhead of getfield projection approach
Oct 11, 2017
For the sake of metadata propagation, Cassette will intercept
getfield(x, :f)
(before type inference) and convert it into something likeCassette._getfield(x, Val(:f))
. Bringing:f
into the type domain is necessary to enable the type-stable construction of "shadowstruct
s" that can store metadata alongside normalstruct
s.According to a comment by @vtjnash in the base
getfield
overloading issue, there is some concern that such an approach may thwart necessary optimizations (such as optimizing namespace references).The text was updated successfully, but these errors were encountered: