Live data from Hacker News

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

incident.io

191–200 of 432 posts

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

#191
post #90

Solid analysis. A word of warning from personal experience: I am part of a medium-sized software company (2k employees). A few years ago, we wanted to improve dev productivity. Instead of going with new laptops, we decided to explore offloading the dev stack over to AWS boxes. This turned out to be a multi-year project with a whole team of devs (~4) working on it full-time. In hindsight, the tradeoff wasn't worth it.…

My team has been developing against a fully remote environment (K8s cluster) for some years now and it makes for a really powerful DevEx.

Code sits on our laptops but live syncs to the remote services without requiring a Docker build or K8s deploy. It really does feel like local.

In particular it lets us do away with the commit-push-pray cycle because we can run integ tests and beyond as we code as opposed to waiting for CI.

We use Garden, (https://docs.garden.io) for this. (And yes I am afilliated :)).

But whether you use Garden or not, leveraging the power of the cloud for “inner loop” dev can be pretty amazing with right tooling.

I wrote a bit more about our experience here: https://thenewstack.io/one-year-of-remote-kubernetes-develop...

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

#192
post #84

1. If, and only if, you are doing ML or multimedia, get a 128GB system and because of the cost of that RAM, it would be foolish not to go M3 Max SoC (notwithstanding the 192GB M2 Ultra SoC). Full Stop. (Note: This is also a good option for people with more money than brains.) 2. If you are doing traditional heavyweight software development, or are concerned with perception in an interview, promotional context or just…

> You can even get by with the 8GB M1 MBA because the MacOS memory compressor is really good and the SSD is really fast. I thought that general consensus was that 8GB Macs were hammering the life of the SSDs? Yeah, they're fast, but people were talking about dozens of GB a day of swapping happening. And these aren't enterprise class SSDs, despite what Apple charges for them.

I'm curious if an 8GB MacBook can run a macOS VM, and if so how much memory can be allocated to it.

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

#193
post #78

As a scientist, I'm interested how computer programmers work with data. * They drew beautiful graphs! * They used chatgpt to automate their analysis super-fast! * ChatGPT punched out a reasonably sensible t test! But: * They had variation across memory and chip type, but they never thought of using a linear regression. * They drew histograms, which are hard to compare. They could have supplemented them with simple me…

I'm glad you noted programmers; as a computer science researcher, my reaction was the same as yours. I don't think I ever used a CDF for data analysis until grad school (even with having had stats as a dual bio/cs undergrad).

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

#194

Earlier quoted context omitted.

There can be plenty of friction depending on your use case.

What software are you worried about? Hackernews is a great place to share and hear if anyone has similar experiences or maybe managed to find a fix!

Mostly x86 virtual machines for Linux and Windows. ARM ports of both platforms exist but don’t always meet use cases (binary apps, etc).

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

#195
post #2

Author here, thanks for posting! Lots of stuff in this from profiling Go compilations, building a hot-reloader, using AI to analyse the build dataset, etc. We concluded that it was worth upgrading the M1s to an M3 Pro (the max didn’t make much of a difference in our tests) but the M2s are pretty close to the M3s, so not (for us) worth upgrading. Happy to answer any questions if people have them.

Great analysis! Thanks for writing it up and sharing.

Logistical question: did management move some deliverables out of the way to give you room to do this? Or was it extra curricular?

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

#196
post #189

Earlier quoted context omitted.

It of course steongly depends on what your stack is, my current job provides a full remote dev server for our backend and it's the best experience I've seen in a long time. In particular having a common DB is suprinsingly uneventful (nobody's dropping tables here and there) while helping a lot. We have interns coming in and fully ready within an hour or two of setup. Same way changing local machines is a breeze with…

Isn't the point of a dev environment precisely that the intern can drop tables? Idk, I've never had a shared database not turn to mush over a long enough period, and think investing the effort to build data scripts to rebuild dev dbs from scratch has always been the right call.

Dropping tables to see what happens or resetting DBs every hour is fine with a small dataset, but it becomes impractical when you work on a monolith that talks to a set of DB with a hundred+ tables in total and takes 5 hours to restore.

As you point out rebuilding small test datasets instead of just filtering the prod DB is an option, but those also need maintenance, and take a hell of time to make sure all the relevant cases are covered.

Basically, trying to flee from the bulk and complexity tends to bring a different set of hurdles and missing parts that have to be paid in time, maintenance and bugs only discovered in prod.

PS: the test DB is still reset everyday. Eorse thing happening is we need to do something else for a few hours until it's restored.

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

#197

Earlier quoted context omitted.

There can be plenty of friction depending on your use case.

What software are you worried about? Hackernews is a great place to share and hear if anyone has similar experiences or maybe managed to find a fix!

Kind of a edge case, but we were attempting to migrate from Docker to Podman, and found running x86 container images in Podman Desktop on M-series Macs to be unacceptably slow. Docker Desktop supports Rosetta 2 virtualization which performs fine, but Podman Desktop does not.

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

#198

I was curious about something the OP said. He said that they were going dockerless and that they do it in part to reclaim some memory on Mac laptops. Is anyone else doing this or why would anyone else do this?

I'm guessing it is because docker runs a linux VM when it is running on macos.

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

#199
post #136
post #2

Author here, thanks for posting! Lots of stuff in this from profiling Go compilations, building a hot-reloader, using AI to analyse the build dataset, etc. We concluded that it was worth upgrading the M1s to an M3 Pro (the max didn’t make much of a difference in our tests) but the M2s are pretty close to the M3s, so not (for us) worth upgrading. Happy to answer any questions if people have them.

Hi, Thanks for the detailed analysis. I’m wondering if you factored in the cost of engineering time invested in this analysis, and how that affects the payback time (if at all). Thanks!

But then they'd have to factor in the engineering time invested in the analysis of the analysis?

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

#200

[flagged]

Fwiw I've spent my whole career doing data analysis but the ease at which I was able to use OpenAI to help me for this post (am author) blew me away. The fact that I can do this type of analysis is why I appreciate it so much. It's one of the reasons I'm convinced AI engineering find its way into the average software engineer's remit ( https://blog.lawrencejones.dev/2023/#ai ) because it makes this analysis far more…

I'm a data scientist and it's my first time seeing analysis of a dataset using prompts (as opposed to code: i.e. python/R/SQL). I'm slightly blown away! The plot titled 'Distribution of Builds by Platform and Outcome' looks professional and would take me 10-60 minutes using ggplot. The spacings between the text and other graphical elements are done well and would be time-consuming (not to mention bland) for humans.

I'm wondering if we'll soon see Jupyter notebooks with R, Python, Julia, and OpenAI-assistant kernels! (the latter being human readable plain text instructions like the ones used in your analysis E.g. rather than 20 lines of matplotlib or ggplot "Show me the distribution of builds by machine platform, where the platforms are ordered by M1 to M3, and within the platform class Pro comes before Max.".

This has blown my mind.

I'm still unclear on the exact tech stack you used. If I understand correctly, the steps were:

- generate data locally,

- use an ETL tool to push data to Google BigQuery,

- use BigQuery to generate CSVs

- give CSVs to an OpenAI assistant.

From there you asked OpenAI assistant questions and it generates the plots? Is this understanding correct?

Last question: how many times did you have to re-submit or rewrite the prompts? Were the outputs mostly from the first attempts, or was there a fair bit of back and forth re wording the prompts?

Post reply on HN