Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sond813
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
sond813
3y ago
Congrats on the launch!
2.
▲
A reliable, open-source way to profile iOS apps
(github.com)
5 points
by
sond813
3y ago
|
0 comments
3.
▲
by
sond813
4y ago
Apple recommends 400ms for startup time because that's how long the app open animation takes. It's also hard to tell from just one flamegraph how long it will really take in prod, that's why the percentages are nice to use. I
4.
▲
How to speed up conformance checks in Swift by ~20%
(emergetools.com)
5 points
by
sond813
4y ago
|
1 comments
5.
▲
by
sond813
5y ago
We've seen this happen with system fonts as well, apps sometimes bundle the San Francisco font with an app instead of relying on a system font. There may be some reasons to include the font or sound file, such as if it changes in diffe
6.
▲
by
sond813
5y ago
I tried it out with Yelp and Twitter, both had a lot of bloat due to not stripping binaries. You can see this in the large "String Table" in both screenshots. Yelp also has a large exports section for the main app binary, that
7.
▲
by
sond813
5y ago
Building up the cache at launch/dynamic link time does have a performance hit of a few ms, but if you know it will save you many runtime checks it can be worth it. Definitely makes sense for the runtime to have the lazy behavior built
8.
▲
by
sond813
5y ago
It’s ms, that slow because every protocol conformance in every dylib needs to be checked. When this gets to 100k+ like in many large apps it takes multiple milliseconds
9.
▲
The Surprising Cost of Protocol Conformances in Swift
(emergetools.com)
59 points
by
sond813
5y ago
|
12 comments
10.
▲
by
sond813
5y ago
Looks like a great improvement to my workflow, does it require write access to GitHub or can it be read only? Any plans to support GitLab?
11.
▲
by
sond813
5y ago
There’s also a linker flag that lets you use this format on older OS versions. It seems to work (I tested as far back as iOS 13.4.1) but couldn’t find any documentation to guarantee it won’t cause issues https://developer.apple.c
12.
▲
by
sond813
5y ago
The mach-o format supports a “fat binary” that contains multiple architectures and then the App Store can only deliver one of those architectures to a particular device. Bitcode lets Apple recompile a different architecture slice using this
13.
▲
by
sond813
6y ago
I always had trouble getting notified when a release was blocked from App Store review since it required getting an email and then logging into App Store Connect to find the reason for rejection. Does Runway help surface rejection reasons i
14.
▲
Why Swift reference types are bad for iOS app startup time
(medium.com)
21 points
by
sond813
6y ago
|
3 comments
15.
▲
by
sond813
6y ago
Interesting idea, I assume Apple would solve the versioning problem the same way Google is currently handling it. Apple is doing something like this already but there isn't too much detail other than the mention of update packages here
16.
▲
by
sond813
6y ago
Currently identifying sources and offering suggestions for how to make improvements. For many apps this can reveal a lot of opportunity!
17.
▲
by
sond813
6y ago
Yep this is exactly the problem I'm trying to solve! A lot of large app companies have switched from Xcode to third party build systems like Buck or Bazel. This can make things faster but even more confusing. I've found analyzing
18.
▲
by
sond813
6y ago
Uber's article focuses on binary size, but the App Store 309mb number is app bundle size. 120mb of this is not coming from the binary. I have a breakdown of this here: https://news.ycombinator.com/item?id=25380198 App
19.
▲
by
sond813
6y ago
Starbucks has a separate China app. I suspect a part of this is due to app size because there are regions specific SDKs. Another is likely security. Regulations in some countries require data to be shared with the government and they don&#x
20.
▲
by
sond813
6y ago
Google encourages this with feature modules and app bundles. Apple doesn't allow it because they've always been against downloading executable code that doesn't go through app review. Same reason they don't like game str
21.
▲
by
sond813
6y ago
I’m the founder of a YC company in the current batch focused on solving this exact problem! https://www.emergetools.com We parse Obj-C and Swift runtime metadata to determine size contributions of individual types and functions
22.
▲
by
sond813
6y ago
Great question, we've definitely thought about this. Seems like the trends are as users get better tech the apps get more ambitious with their capabilities and performance will always be something worth spending time on.
23.
▲
by
sond813
6y ago
Thanks, this sounds interesting! Feel free to email me at noah@emergetools.com
24.
▲
by
sond813
6y ago
Android support is definitely on our roadmap!
25.
▲
by
sond813
6y ago
It's 200mb now before a prompt shows warning users of the size they are about to download.
26.
▲
by
sond813
6y ago
Exactly! Emerge aims to make it as easy as possible to fix app size issues, so you can prioritize it similar to other bug fixes. With our pull request comments alerting you to size increases right when they happen you can easily see why siz
27.
▲
by
sond813
6y ago
That's great to know! This integration is helpful for just knowing the size of an app and being alerted if it goes over a threshold, but it doesn’t provide any insight into where that size actually comes from. Adding a Bitrise integrat
28.
▲
by
sond813
6y ago
Interesting thanks for sharing! It looks like __bitcode is used for static but not dynamic libraries so it might not always be reliable. I've also found that apps can include bitcode for frameworks but not the main app binary, but if i
29.
▲
by
sond813
6y ago
Definitely! We want to reduce cellular download size as well. In the particular case of Dropbox, their download size is around 100mb right now. I just did a quick test by deleting the duplicate localizations in their Frameworks and zipping
30.
▲
by
sond813
6y ago
Good question! Many apps are trying to expand around the world and have a global presence. This is actually what originally inspired the idea for Emerge. App size is crucial if you are trying to break into new markets where users might not
More ›