Live data from Hacker News

Why Apple’s new M1 chips are essential for rapid iOS development

doordash.engineering

31–40 of 135 posts

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#31
post #7

On one hand, these machines are clearly superior, and it's a no brainer for companies to purchase them for development. On the other, this is just another one in the long line of examples of bad software practices being overcome by throwing more money and hardware at the problem. Is there any reason for an iOS app build to take 8+ minutes to begin with? And does anyone realistically believe that once all developers h…

Yep agree, having spent some time digging into why Xcode builds are slow it looks like low investment is a major reason. The tooling and optimizations are fairly primitive compared to other ecosystems and harder to get right where they do exist. It’s just not a priority it seems, likely because new features win out.. and selling new hardware “solves the problem”.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#32
post #22
post #7

On one hand, these machines are clearly superior, and it's a no brainer for companies to purchase them for development. On the other, this is just another one in the long line of examples of bad software practices being overcome by throwing more money and hardware at the problem. Is there any reason for an iOS app build to take 8+ minutes to begin with? And does anyone realistically believe that once all developers h…

Your argument is more or less a critique of Swift itself, which is a far more full-featured and "safe" language than Objective-C, at the expense substantially higher compilation times given otherwise like-for-like programs. You're not necessarily wrong, but that ship has sailed for iOS development long ago and isn't necessarily the fault of teams like Doordash who have probably (like others) already squeezed as much…

Definitely will echo this. The app I work on is probably a lot of bloat which the op is complaining about but compared to the last app I worked on it's quite a bit less and compiles at least 5 times more slowly due to using swift where as the last project was 100% obj-c. Even if we could somehow manage to convince management to let us clean up the app we'd still be at the mercy of however long the swift compiler takes.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#33
post #15

One thing that is surprisingly slow on the M1 is running an OpenGL ES application in the simulator. I developed a game on a shoestring budget, and hoped that an M1 would be able to be used for capturing video of the game at the resolutions that Apple wants, but it was way too slow to be able to do this, so I had to just leave video out of my store page. The same app run on your M1 mac with its iOS compatibility works…

Sounds like it went through the software rendering path...

You are correct. It is frustrating because clearly it can be hardware accelerated, just Apple hasn't really bothered themselves to do this

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#34
post #8

"Based on rough usage patterns, we assumed an average iOS engineer does around five clean builds and 30 incremental builds each day..." ...wait, what? I know YMMW, but for me and most of my colleagues it's 1-2 clean build per day and 30 incremental... per hour, sometimes. "...In parallel with our modularization effort, we’re also adopting new technologies like SwiftUI and Xcode Previews. These technologies allow us t…

> SwiftUI Previews is notorious for crashing, timeouts and random errors.

Just going to plus one this point in particular. I just started working on an app for the first time in January, chose SwiftUI, and probably wasted at least a few days' worth of work time dealing with non-problems that become problems only because of using SwiftUI Previews.

Once I disabled Canvas and removed the Preview struct, my dev time got quite a bit more efficient.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#36
post #17

I had to laugh at the opening: "The tools are largely free", except the bare minimum to develop for ios is a mac and the apple developer account (if you ever expect to publish your app). And a significant subset of functionality only works on physical devices and not emulators. If you don't already have the mac and iphone, you're looking at $600 for a used macbook air, ~$300 for a used 2 generations old iphone, and $…

> $1000 is not "largely free".

It is absolutely insignificant compared to the cost of developing software.

It’s a tool needed to do a job. Go talk to a carpenter, a builder or a mechanic and ask them how much they spent on tools. Then compare their hourly rates to that of a software engineer.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#37
post #7

On one hand, these machines are clearly superior, and it's a no brainer for companies to purchase them for development. On the other, this is just another one in the long line of examples of bad software practices being overcome by throwing more money and hardware at the problem. Is there any reason for an iOS app build to take 8+ minutes to begin with? And does anyone realistically believe that once all developers h…

This may be true of 50-in-one megaprojects such as those from the likes of Uber and Google, but these machines are also beneficial to developers of more lean, focused, and optimized apps too. The few seconds my M1 Pro shaves off of incremental builds and the general improvements in IDE responsiveness compared to an upper-spec Intel mac pile up and become worth it quickly, not even mentioning quality of life improvements like far better battery life and being able to use the laptop in my lap comfortably.

For the projects I work on, compile time has been declining with each hardware gen despite app complexity increasing significantly. I’m sure there are other devs who this is true for too. We’re not all 5 abstractions deep and nonchalant about heavy resource usage and bad engineering.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#38

Essential for any development occurring on a Mac IMO. I upgraded from a fully specced out 16inch to a base model M1 with the 32GB upgrade (a machine roughly half the price I think) and it's night and day. I can use Docker now without Slack getting laggy.

I thought the base model M1 maxed out at 16GB? Must be a M1 pro or max.

Yeah that was unclear, I meant the base model 16 inch which has an M1 pro chip.

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#39
post #7

On one hand, these machines are clearly superior, and it's a no brainer for companies to purchase them for development. On the other, this is just another one in the long line of examples of bad software practices being overcome by throwing more money and hardware at the problem. Is there any reason for an iOS app build to take 8+ minutes to begin with? And does anyone realistically believe that once all developers h…

> Is there any reason for an iOS app build to take 8+ minutes to begin with?

The speedup isn't limited to iOS app builds. For instance, at Reddit:

>We recently found that the new 2021 M1 MacBooks cut our Android build times in half.

https://twitter.com/softwarejameson/status/14559711620606976...

Re: Why Apple’s new M1 chips are essential for rapid iOS development

#40

One thing that is surprisingly slow on the M1 is running an OpenGL ES application in the simulator. I developed a game on a shoestring budget, and hoped that an M1 would be able to be used for capturing video of the game at the resolutions that Apple wants, but it was way too slow to be able to do this, so I had to just leave video out of my store page. The same app run on your M1 mac with its iOS compatibility works…

I've tried a number of games from the app store (relatively simple 2D games which don't melt your phone) on an M1 Pro MBP, and found they all constantly maxed out multiple CPU cores for no apparent reason.

There's definitely something wrong even with the iOS compatibility layer.

Post reply on HN