<div dir="ltr">Does anyone know if the runtime libs definitively increased in size in Swift 3? I could have sworn I heard 4.5 MB for Swift 2.<div><br></div><div>Also, does anyone know if there are plans to introduce a `-Os` equivalent for Swift? (Yes, I&#39;m using that in Obj-C, to answer your question).</div><div><br></div><div>Thanks!</div><div><br></div><div>Seth</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 15, 2016 at 5:27 PM Austin Zheng &lt;<a href="mailto:austinzheng@gmail.com">austinzheng@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sorry, I totally missed the part where you mentioned the runtime libs.<div><br></div><div>I assume you&#39;re compiling your Objective-C code using the `-Os` optimization level? Unfortunately, it doesn&#39;t seem like swiftc has any flags for trading off speed and binary size. Part of the size discrepancy is almost certainly due to the immaturity of the compiler.</div><div><br></div><div>This is probably only valid for the roughest of OOM estimates, but LinkedIn&#39;s iOS app is 135 MB (don&#39;t know how it breaks down in terms of assets vs code), and is almost entirely implemented in Swift. It&#39;s not much to go off, but it might provide you with a starting point.</div><div><br></div><div>If any of your company&#39;s engineers are at WWDC, you might want to have them ask the engineers during the developer tools labs.</div><div><br></div><div>Best,</div><div>Austin</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 15, 2016 at 5:16 PM, Seth Friedman via swift-users <span dir="ltr">&lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks for the quick reply. You guys are right on part of it; the runtime libraries are causing the majority of the increase. I thought the Swift runtime libraries were supposed to only take up 4.5 MB though? Did they increase with Swift 3? If I add up all of the libraries, they take up a total of 22.88 MB in the binary. About how big would they be if I had Bitcode turned on?<div><br></div><div>That said, the actual Swift binary is still larger. In my table view example, the Objective-C binary is 144 KB and the Swift binary is 201 KB. <b>That&#39;s still a 40% increase</b>. Obviously it&#39;s much harder to test a large-scale app, but I&#39;d like to know the percentage increase to expect if we were to migrate to Swift.</div></div><div><div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 15, 2016 at 5:04 PM Saagar Jha &lt;<a href="mailto:saagarjha28@gmail.com" target="_blank">saagarjha28@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><p>Yep, I just took a simple app and opened up the ipa. 90% of it is the “Frameworks” directory containing the Swift frameworks <code>libSwiftCore.dylib</code>, <code>libSwiftDarwin.dylib</code>, etc.</p>
<br><br><div class="gmail_quote"></div></div><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Wed, Jun 15, 2016 at 3:43 PM Seth Friedman via swift-users &lt;<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a>&gt; wrote:<br></div></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-size:13px"><div><div dir="ltr">Hi all,<div><br></div><div>I&#39;ve seen a ton of blog posts written about all of the cool and exciting things about Swift, but I haven&#39;t see anything really about the downsides (besides the occasional post about pain points with interoperability). What&#39;s of biggest concern to me when considering migrating my company&#39;s app from Objective-C to Swift is binary size. Swift binary size seems to be several times larger than Objective-C, and I&#39;m curious what data there is in the community to support this suspicion.</div><div><br></div><div>For some quick data points, I created a single view controller project in Obj-C and one in Swift, turned off bitcode to get a better idea of what the binary size on device would be, and archived them. I did this in Xcode 8 Beta 1 using Swift 3 so that I&#39;d make sure to get any binary size improvements in Swift 3. </div><div><br></div><div>The Obj-C IPA file was 639 KB. The Swift IPA file was <b>23.6 MB</b>. I know that the Swift runtime libs are about 4.5 MB, but subtracting that, the Swift IPA file is still <b>30x bigger than the Obj-C equivalent</b>. Next, I tried adding a simple table view controller, a Person model with a first and last name, and a data source that puts the first and last names in the table view in an attempt to make a functioning app. However, the binary sizes were about the same (the Obj-C one actually decreased to 635 KB).</div><div><br></div><div>When we&#39;re talking about binary sizes this small, it&#39;s not a big deal, but my company&#39;s app is currently 81 MB, about 35 MB of which is code, and the rest is assets. If the code part of the binary size increases by orders of magnitude like this, we&#39;ll go way over the 100 MB cellular limit that Apple has set. This is also a really bad experience for customers in emerging markets like China and India that have poor connections.</div><div><br></div><div>Can anyone confirm or deny that Swift binary size is orders of magnitude larger than Objective-C? I&#39;m looking for the specific increase we&#39;ll see to take to my management in order to make a justification for whether it&#39;s worth it for our customers.</div><div><br></div><div>Thanks!</div><div><br></div><div>Seth Friedman</div></div></div></div><div style="font-size:13px"><div><div dir="ltr"><div><br></div><div><br></div></div></div></div></div></blockquote></div></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br>
</blockquote></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">-Saagar Jha</div></div>
</blockquote></div>
</div></div><br>_______________________________________________<br>
swift-users mailing list<br>
<a href="mailto:swift-users@swift.org" target="_blank">swift-users@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br>
<br></blockquote></div><br></div>
</blockquote></div>