Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

AOT overhead 200MB (ensuring app loads fast)

Frameworks 150MB

Assets for all screen resolutions 50MB

Google Meet/Chat/etc 100MB

AI models 25MB





I find "ensuring app loads fast" to be absolutely hilarious, here. What has to be done to help a mail app load fast?

And, snarkily, can they do this for the web page? On my decent connection right now, loading a new tab to gmail takes about 3 seconds to visibly load. Another few seconds to get so that I can interact with it. Is kind of hilarious to see how long it takes to load the compose window if I press "c" as soon as I see any of the app has loaded.


Starting with machine code expands lines of code 2-10x.

It's also taking helper functions and pre-evaluating them putting results inline, and unrolls loops (could be 5-50x increase where they exist?)

And it precalculates lookup tables (takes up space) for virtual methods.


Right, I know what sort of things happen in that process. And to be fair, I'm mainly poking fun at how bad the web page has become.

I do feel that this bloat is, far and away, the worst offender when it comes to why things feel slower nowadays. The application just flat out does way more than most people assume it can. Which means it almost certainly has way more capabilities than it needs for many of us.

Would be neat to see a metric on "how much of the code is never loaded" in typical use. Akin to some game medals of "played more than x% of players."


> OT overhead 200MB (ensuring app loads fast)

Yet there is a positive correlation between size and startup time…


AOT = Ahead Of Time? Attack On Titan? Something else?

Mobile applications need to be AOT (Ahead of Time) compiled for the target device to have optimal performance.

it's ahead of time and AOT compilation is done at OS startup, not sure if that is being measured here.

OS startup? AOT compilation happens in the build pipeline, before the app is distributed.

AOT is unique because you want to compile it with all the capabilities your device has, so there still has to be some complication done, especially when you have processors that have brand new instructions to make operations significantly more efficient.

That's not the approach they're referring to, iOS doesn't support that. They're referring to delivering the compiled native code as part of the app package.

Wouldn't compilation during the build process be ROT? As in, "Right On Time" compilation? Build is where the compilation step is usually performed.

I don't think iOS does any on-device or in-app-store compilation since Apple deprecated Bitcode.


Didn't this use to be called "compilation"?

Yes, but then JIT (just in time) compilation became commonplace, so now it is often useful to distinguish between AOT and JIT.

Yes, and landline phones used to be called "phones".



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: