[swift-evolution] [RFC] "Library Evolution Support in Swift ('Resilience')"

David Owens II david at owensd.io
Thu Feb 11 18:59:56 CST 2016


> On Feb 11, 2016, at 4:19 PM, Jordan Rose <jordan_rose at apple.com> wrote:
> 
>> 
>> On Feb 11, 2016, at 15:56, David Owens II <david at owensd.io <mailto:david at owensd.io>> wrote:
>> 
>> Do you have any metrics on how often the disable safety metrics are used when compiling swift code?
>> 
>> C++ isn't know for being the bastion of doing versioning correctly. I agree it has the speed target that hopefully Swift can get to.
>> 
>> As for C#, unless you are talking about something I don't know about, ngen and JIT (runtime) are the only ways that the code will be inlined. However, when the assembly changes, that should invalidate the ngen'd image forcing it to be regenerated. Hence the entire feature for the TargetedPatchingOptOut on system framework dlls (selective replacement of the ngen'd images).
>> 
>> In any case, for apps, the scenario is largely irrelevant. To ship and update to that, I must do a recompile. This is mostly true for all ship mechanism on Apple platforms now any because.
>> 
>> Maybe it's a narrow enough surface area where this would actually be a practical issue such that it's largely irrelevant...
> 
> Well, Apple itself will be using this model, so if there's a bug in an inlineable function in Cocoa, this could make a difference.
> 
> Unfortunately, I can't share any metrics about -O vs. -Ounchecked.

Sounds like you'll already need to plan for a `TargetedPatchingOptOut` feature then... it's a good question on how apps that consume inlineable framework code get updates without a recompile, especially for critical security fixes.

-David

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160211/4529c093/attachment.html>


More information about the swift-evolution mailing list