[swift-evolution] ABI of throwing

Goffredo Marocchi panajev at gmail.com
Tue Aug 9 02:38:10 CDT 2016


Sent from my iPhone

On 9 Aug 2016, at 08:27, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:

>> On Aug 7, 2016, at 9:36 PM, Chris Lattner via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>>> However, as linked above, someone did for Microsoft platforms (for Microsoft-platform-style errors) and found that there is an impact. 
>> 
>> C++ and Swift are completely different languages in this respect, so the analysis doesn’t translate over.
> 
> I believe the language in question was a native-compiled C# variant, not C++.
> 
> However, I suspect the numbers from Midori's experiment may not hold up in Swift.

Ah, there is where the study was from/about. There was actually a great blog by one of the main engineers about Project Midolo and the tales of its Safeties :). The reaction to it and the pushback in the Windows community make me think that either they were theoretical baboons or geniuses as sometimes quoting that project can be so polarising :).

> Midori used a generational mark-and-sweep garbage collector, so it didn't need to write implicit `finally` blocks to release objects owned by stack frames. Swift would. That could easily eat up the promised 7% code size savings, and the reduced ability to jump past frames could similarly damage the speed improvements.
> 
> I'm not saying I have the numbers to prove that it does; I don't. But given our different constraints, there are good reasons to doubt we'd see the same results.
> 
> -- 
> Brent Royal-Gordon
> Architechies
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160809/34a9932e/attachment.html>


More information about the swift-evolution mailing list