> On Jul 28, 2017, at 4:27 PM, Jonathan Hull <jh...@gbis.com> wrote: > > Is there a way to split the difference? > > You would still have a repository of canonical metadata, but you could have > another non-unique structure which can be used for most cases without having > to go get the canonical version. You could use the non-unique structure to > lookup the canonical version when desired, and the structure would contain > enough information to create a canonical version lazily the first time it is > needed. > > That way, you could just use the non-unique structures… but they could be > exchanged for a unique/canonical version (or one can be created) when that > really is needed. > > I am a bit out of my depth here, so hopefully this makes at least a little > sense...
We could. This is similar to what we already have to do for type metadata from types that got imported from C. Since there's no canonical place for a C type's metadata to live, each binary that needs the type's metadata emits a candidate with the type name, and the runtime chooses one (currently, the first one that asks) to be the canonical type. We could do something similar with some or all metadata. -Joe _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev