Live data from Hacker News

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

doordash.engineering

81–90 of 135 posts

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

#81
post #75

Earlier quoted context omitted.

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

I was under the impression that OpenGL on M1 devices just passes through to Metal at this point. Does OpenGL ES not get this treatment...?

My guess is that they haven’t wired the iOS Simulator to use the M1’s hardware acceleration. I’m pretty sure WebGL (which uses OpenGL ES) is hardware accelerated on M1.

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

#82
post #74
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…

Having your entire codebase and build process running on the machine in front of you has a lot of other efficiencies that an external cluster takes away. What about the overhead of syncing your code to the server every time you make a change, and getting the binaries back to test? What if you want to work from outside the office? What if the network connection is bad?

>What about the overhead of syncing your code to the server every time you make a change, and getting the binaries back to test? What if the network connection is bad?

A bad network connection is severely disruptive to almost all dev workflows so it's not a unique reason against remote development. The other factors you raise are not really relevant. The "overhead" of syncing code should be invisible with modern dev tools, and binaries should be built remotely anyway. I.e. the laptop should basically used as a thin client + web browser.

>What if you want to work from outside the office?

This is an argument in favor of remote development. When everything is on the cloud, it doesn't matter whether you are in the office, at home, or travelling.

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

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

I used SwiftUI for a side project and after 6 months binned the whole thing and switched to flutter. I was finding that a huge portion of my time was spent trying to get the project to compile (it generally just needed many recompiles so presumably there's race conditions in xcode or the compiler) and the previews induced several minutes worth of spinner every time I went near them.

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

#84
post #46

Where do these companies exist that buy the latest hardware for their devs? Please tell me, i've never seen one! ;) Honestly, maybe it's an australian thing (where i'm based) but i work for an international company now too and it's the same.

Silicon Valley companies often do this, especially when something as newsworthy as this comes out.

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

#85

Earlier quoted context omitted.

> Then Apple would have to maintain their build tools for other platforms. Waste of resources for something that ultimately isn't going to make Apple money. It makes sense on Apple's part, but I still dislike it. > I've never seen anyone complain that they have to own a Windows computer to develop Windows apps. Windows can be installed on any computer, whereas macOS requires purchasing Mac hardware. Additionally you…

> Windows can be installed on any computer, whereas macOS requires purchasing Mac hardware Running Windows natively requires an Intel PC. an Intel Mac via Boot Camp (but I'd advise buying a two-button mouse with a scroll wheel if you do that), or a subset of ARM PCs for which Microsoft provides ARM builds. That's definitely not "any computer" or even "practically any computer."

Ever heard of AMD?

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

#86

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…

There is no OpenGL driver on M1. So your app is running through a translation layer to the native Metal driver underneath. All OpenGL rendering on M1, no matter the framework (iOS, Catalyst, macOS) has pretty terrible performance because of that.

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

#87
post #81
post #75

Earlier quoted context omitted.

I was under the impression that OpenGL on M1 devices just passes through to Metal at this point. Does OpenGL ES not get this treatment...?

My guess is that they haven’t wired the iOS Simulator to use the M1’s hardware acceleration. I’m pretty sure WebGL (which uses OpenGL ES) is hardware accelerated on M1.

And iOS apps not running within the Simulator have hardware accelerated OpenGL ES too.

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

#88
post #24
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…

Yeah that's about it. What I find really offensive, which my Mac likes to remind me of regularly on the energy usage side of things, is the siloed vats of excrement that JavaScript, Browsers and Electron have enabled. These are absolutely horrible to use compared to native applications and each one has its own ozone hole above it. If I don't open a browser or Electron app my battery lasts 2x as long. I do the occasio…

100% This is the new Flash that Steve Jobs successfully railed against ruining the battery life and performance of Macs back in the day - https://youtu.be/EMXwa9EtehE. And things got soo much better for awhile when that went away.

I feel with JavaScript and especially everything being Electron (I shudder to think how many copies of Chromium I am running at the moment) we've backtracked back to those days - but worse.

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

#89
post #55

Does the toolchain on x86 still build an x86 and ARM executable(s)? Perhaps that contributes to the 2x build time?

For macOS universal binaries, yes, they still build both platforms. For iOS, it's only ever building for the platform you target, simulator or device, so the only change there is the simulator is now an arm64 target.

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

#90

Earlier quoted context omitted.

came to post this, what a joke. are they steeped in privilege or what?! maybe simply unaware of the alternative ecosystem costs

its not just about javascript and android, take a look at FPGA development... several multi thousand dollar licenses out the wazoo

yea i was gunna post a high end JTAG as example, but for mobile development, sheesh android is actually virtually free
Post reply on HN