# Behind the burn, there is a good point :P

**URL:** <https://forum.kirupa.com/t/behind-the-burn-there-is-a-good-point-p/644175>\
**Category:** random\
**Created:** [September 14, 2020, 2:15am UTC](https://forum.kirupa.com/t/behind-the-burn-there-is-a-good-point-p/644175 "2020-09-14T02:15:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [September 14, 2020, 2:15am UTC](https://forum.kirupa.com/t/behind-the-burn-there-is-a-good-point-p/644175/1 "2020-09-14T02:15:52Z")

</div>

> <https://twitter.com/Rich_Harris/status/1305240860800487425?s=20>

😀

---

<div class="post-metadata">

**Author:** ![krilnon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/krilnon/32/34_2.png) [@krilnon](https://forum.kirupa.com/u/krilnon)\
**Post date:** [September 14, 2020, 3:07am UTC](https://forum.kirupa.com/t/behind-the-burn-there-is-a-good-point-p/644175/2 "2020-09-14T03:07:25Z")

</div>

Tangentially related, but reminds me of some [very carefully worded info](https://developer.apple.com/documentation/xcode-release-notes/swift-5-release-notes-for-xcode-10_2) about app size improvements people would see for Swift 5 apps back in the Xcode 10.2 timeframe.

It was neat because a simple `print("hey")`-style app went down from a few MB to a few KB.

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [September 14, 2020, 4:55am UTC](https://forum.kirupa.com/t/behind-the-burn-there-is-a-good-point-p/644175/3 "2020-09-14T04:55:22Z")

</div>

Is it public knowledge how that reduction was done? We had a bunch of these similar types of optimizations for .NET and Silverlight back when I was at Microsoft. Sometimes, we had to increase the size of the runtime to incorporate the weight each app would have been carrying around. Other times, we did the opposite and reduced the size of the runtime by shifting some of the burden to the apps.

😛

---

<div class="post-metadata">

**Author:** ![krilnon](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/krilnon/32/34_2.png) [@krilnon](https://forum.kirupa.com/u/krilnon)\
**Post date:** [September 14, 2020, 11:21pm UTC](https://forum.kirupa.com/t/behind-the-burn-there-is-a-good-point-p/644175/4 "2020-09-14T23:21:18Z")

</div>

For the Swift issue in particular, it’s that apps didn’t need to include the dynamically linked libraries for the Swift runtime and [SDK overlays](https://github.com/apple/swift/pull/32502) (like `libswiftAVFoundation.dylib` for AVFoundation). More generally there’s [app thinning and bitcode](https://help.apple.com/xcode/mac/11.0/index.html?localePath=en.lproj#/devbbdc5ce4f), where you can ship an app with a deployment target so low that it needs the embedded dynamic libraries for those older OSes, but still thins them out for newer OSes.

---

<div class="post-metadata">

**Author:** ![kirupa](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/kirupa/32/11616_2.png) [@kirupa](https://forum.kirupa.com/u/kirupa)\
**Post date:** [September 15, 2020, 3:33am UTC](https://forum.kirupa.com/t/behind-the-burn-there-is-a-good-point-p/644175/5 "2020-09-15T03:33:40Z")

</div>

Nice! I can’t imagine all the complexities involved behind the scenes for making this work well and at scale.
