Live data from Hacker News

Tracking developer build times to decide if the M3 MacBook is worth upgrading

incident.io

341–350 of 432 posts

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#341

>M2 is a significant upgrade on the M1 machines. M3 is an incremental improvement on M2. Cinebench and Geekbench tell a different story. M2 is a small upgrade over M1 while M3 is a bigger upgrade over M2.

This quoted statement is true for the Pro chips. For the Max, yes the M3 series is a sizable upgrade.

It's worth noting they're using the binned Max and quite frankly are undercutting the actual results the Max produces, it appears to be substantial.

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#342
post #216

Earlier quoted context omitted.

12,000 builds? Sure maybe the build time distribution is non-normal, but the sample statistic probably is approximately normal with that many builds.

Many people misinterpret what is required for a t-test.

I meant that the median is likely arguably the more relevant statistic, that is all -- I realise that the central limit theorem exists!

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#344

Maybe before buying M3 MacBook for everyone you should consider splitting your 1M line code base to avoid recompiling the whole thing for every change.. I don't know well the go ecosystem at all but it seems to me you should really consider optimizing your code base for compilation speed before creating fancy build time chart per cpu with AI and buying hundreds of super powerfull and expensive machines to compile it…

We do frequently adjust the codebase to improve build times, but the developer productivity hit we’d take by splitting our app into several microservices would be much more substantial than much slower build times than we currently see. We’re super happy with 30s as an average build time right now. Assume we spent about £50k for the entire teams laptops, how much time would an engineer need to break our monolith into…

Maybe you could split the code base without going full micro service. Keep the monolith base, and split some parts in independent module/libraries that won't be rebuild every time, something like that.

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#345
post #10

Does anyone have any anecdoctal evidence around the snappiness of VsCode with Apple Silicon? I very begrudgingly switched over from SublimeText this year (after using it as my daily driver for ~10yrs). I have a beefy 2018 MBP but VScode just drags. This is the only thing pushing me to upgrade my machine right now but I'd be bummed if there's still not a significant improvement with an m3 pro.

give Panic’s Nova a look. “What if VSCode was a native app,” basically. I love it.

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#346
This is bad science. You compared the thing you had to the thing you wanted, and found a reason to pick the thing you wanted. Honesty should have compelled you to at least compare against a desktop–class machine, or even a workstation with a Threadripper CPU. Since you know that at least part of your workload is concurrent, and 14 CPUs are better than 10, why not check to see if 16, 32, or 64 is better still? And the linker is memory bound, so it is worth considering not just the quantity of memory but the actual memory bandwidth and latency as well.

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#347
post #346

This is bad science. You compared the thing you had to the thing you wanted, and found a reason to pick the thing you wanted. Honesty should have compelled you to at least compare against a desktop–class machine, or even a workstation with a Threadripper CPU. Since you know that at least part of your workload is concurrent, and 14 CPUs are better than 10, why not check to see if 16, 32, or 64 is better still? And the…

I don‘t think this is bad science at all.

From the article:

> All incident.io developers are given a MacBook which they use for their development work.

Non-MacBook machines are apparently not an option, for whatever reason. Comparing against other machines would be interesting, but irrelevant.

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#348
post #295

This is a great write-up and I love all the different ways they collected and analyzed data. That said, it would have been much easier and more accurate to simply put each laptop side by side and run some timed compilations on the exact same scenarios: A full build, incremental build of a recent change set, incremental build impacting a module that must be rebuilt, and a couple more scenarios. Or write a script that…

I agree, it seems like they were trying to come up with the most expensive way to answer the question possible for some reason. And why was the finding in the end to upgrade M1 users to more expensive M3s when M2s were deemed sufficient?

If employees are purposefully isolated from the company's expenses, they'll waste money left and right.

Also, they don't care since any incremental savings aren't shared with the employees. Misaligned incentives. In that mentally, it's best to take while you can.

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#349
post #346

This is bad science. You compared the thing you had to the thing you wanted, and found a reason to pick the thing you wanted. Honesty should have compelled you to at least compare against a desktop–class machine, or even a workstation with a Threadripper CPU. Since you know that at least part of your workload is concurrent, and 14 CPUs are better than 10, why not check to see if 16, 32, or 64 is better still? And the…

Being Mac only can be an advantage - I’ve been on both sides of trying to maintain & use non-trivial dev environments and the more OSes you bring in for people to work on, the harder it gets.

Bringing in Windows or Linux has a set up cost and a maintenance cost that may exclude it from even being considered.

Edit: plus, Macs are ARM, other options are inevitably x86. So it’s also two CPU architectures to maintain support for, on top of OS specific quirks - and even if you use eg Docker, you still have a lot of OS specific quirks in play :/

Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading

#350
post #314

Earlier quoted context omitted.

What do you mean by network build?

They probably mean tools like distcc or sccache: https://github.com/distcc/distcc https://github.com/mozilla/sccache

And incredibuild: https://www.incredibuild.com/
Post reply on HN