> On Jan 5, 2016, at 3:37 PM, Charles Srstka via swift-evolution 
> <[email protected]> wrote:
> 
>> On Jan 5, 2016, at 11:52 AM, Douglas Gregor <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> There are better mechanisms for this than +load. But one would have to deal 
>> with the dylib loading issue and the need to enumerate root classes to get 
>> to a complete implementation. Frankly, I don’t think this level of 
>> Objective-C runtime hackery is worth the effort, hence my suggestion to make 
>> the existing behavior explicit.
> 
> Yeah, +load was just to throw together a quick-and-dirty demonstration, and 
> not what you’d actually use. You have a point about libraries and bundles; 
> you’d have to hook into that and rescan each time new code was dynamically 
> loaded. However, the enumeration of classes only seems to take around 0.001 
> seconds, so I don’t think it’s terrible.

Enumeration of classes is terrible: it forces the runtime to perform lots of 
work that it tries very hard to perform lazily otherwise. I would expect your 
measured cost to be much higher if you had linked to more high-level libraries 
(UIKit, MapKit, etc).


-- 
Greg Parker     [email protected]     Runtime Wrangler


_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to