Live data from Hacker News

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

doordash.engineering

101–110 of 135 posts

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

#101
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…

How big is the app you are working on? How long does an incremental build take including linking and signing?

30 incremental builds an hour sounds pretty high to me, unless you’ve got a smaller app. On Intel machines, I’ve been seeing minimal incremental build times of over a minute. The M1 obviously make some pretty significant improvements in this situation.

However, while I’m relatively new to the iOS world, it seems linker performance is a fairly hot topic. I know more than a few people are eyeing support for Mach-O linking in mold, based on the massive speedups shown for Linux.

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

#102
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.

What cost(s) are you referring to?

I can develop software comfortably on a $100 laptop and whatever choice of FOSS operating system. You can get a workable but less comfortable setup with an inexpensive device like the raspberry pi or a used system.

That is part of what makes CS special compared to other fields, the tools and information are available to everyone who has a working computer and internet access instead of being extremely expensive and locked behind gatekeepers like colleges.

Also keep in mind that the free tools and operating systems are not "junky" or whatever you might assume if you aren't familiar with them. GCC and LLVM are examples of extremely high quality FOSS toolchains, Debian and FreeBSD for operating systems.

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

#103

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 can’t wait for the next macOS + iOS updates so I can use Universal Control to run Slack on my iPad and never have to open their bloated web/electron app ever again. I wish Slack would just let us run the iOS app on our macs with Catalyst, but they seem pretty bent on pushing desktop OS users to the web/electron version.

Is the iOS app not also web based?

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

#104

> Based on rough usage patterns, we assumed an average iOS engineer does around five clean builds and 30 incremental builds each day Why five clean builds a day? That seems like a lot. Any iOS devs care to chime in?

Depends on what you’re working on and how that’s going. It’s easy to imagine shifting between completely different forks/branches with a ton of dependencies where you’d want to clean build. Or when you go to submit work you make sure unit tests run from scratch, etc.

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

#105

Earlier quoted context omitted.

arguably slack having performance issues might increase most developers productivity

I realise your post is in jest, but I've found that responsive slack (due to a similar machine upgrade) has actually had a noticeably positive effect on my productivity. Checking a slack notification is now a ~2-5 second task, quick enough that I can switch back to my task with losing context. It used to be more like 10-20 seconds if my machine was under load which was highly disruptive.

I do not in any way post in jest.

Slack is an abomination.

Slack is all the bad organizational behavioral issues of email, except harder to filter with rules & with more sender-side options for creating noise for the recipient.

It's lovely to send a slack and get quick response.

It's a huge productivity killer to get dozens/100s of half-thoughts ad-hoc sent over IMs to individuals and blasted to groups.

Is there a massive production outage? (I care about)

Did someone just share a funny GIF? Is Bob helping Jim debug a firewall issue for a client? (none of which I care about)

I got that stupid red dot, hard to tell without checking.

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

#106
post #52

Why do companies even build locally anymore? It's never been cheaper to spin up your own cluster that's going to be more than enough horsepower. If you give your devs the $899 air instead of the $2300 16", I feel like that $1400 surplus per dev would go a long way in buying some nodes that are going to still be some muscle 5 years from now. You could buy two mac minis per dev and set up an m1 cluster if you wanted. I…

The cost to buy devs their own high spec devices, that makes them independent of any network issues, is a rounding error compared to the cost of the time and effort lost in maintaining the distributed build infrastructure, and the cost of lost work during network outages.

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

#107

Earlier quoted context omitted.

I can’t wait for the next macOS + iOS updates so I can use Universal Control to run Slack on my iPad and never have to open their bloated web/electron app ever again. I wish Slack would just let us run the iOS app on our macs with Catalyst, but they seem pretty bent on pushing desktop OS users to the web/electron version.

Is the iOS app not also web based?

Probably, but if it’s not using my development system’s resources I don’t particularly care.

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

#108

Earlier quoted context omitted.

30 incremental builds an hour doesn't sound like a good process to me. Personally I find if I am building too often I'm not thinking about what I am doing enough and I'm just throwing things at a wall hoping they'll stick/work. A good software process involves a lot of thinking, a medium amount of typing, a small amount of compiling. I understand that sometimes the ideal and the reality are different of course.

30 incremental builds an hour while doing iOS UI development can be entirely the norm: Tweak a font size; rebuild. Tweak the font again; rebuild. Change the text color from 'label' to something slightly gray; rebuild. et cetera.

I know people do this sort of thing, but I still don't approve of it as a good way to live :-) Sounds too much like editing a document by manually styling every last element instead of creating a theme with a consistent set of styles.

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

#110

Earlier quoted context omitted.

I can’t wait for the next macOS + iOS updates so I can use Universal Control to run Slack on my iPad and never have to open their bloated web/electron app ever again. I wish Slack would just let us run the iOS app on our macs with Catalyst, but they seem pretty bent on pushing desktop OS users to the web/electron version.

Is the iOS app not also web based?

Last I knew the Slack iOS app is built with React Native, which still isn’t the best in terms of resource usage but is better.
Post reply on HN