Live data from Hacker News

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

incident.io

401–410 of 432 posts

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

#401
post #305

Earlier quoted context omitted.

It's because that's usually the data scientist's job, and most eng infra teams don't have a data scientist and don't really need one most of the time. Most of the time they deal with data the way their tools generally present data, which correlate closely to most analytics, perf analysis and observability software suites. Expecting the average software eng to know what a CDF is the same as expecting them to know 3d g…

A standard CS program will cover statistics (incl. calculus-based stats e.g. MLEs), and graphics is a very common and popular elective (e.g. covering OpenGL). I learned all of this stuff (sans shaders) in undergrad, and I went to a shitty state college. So from my perspective an entry level programmer should at least have a passing familiarity with these topics. Does your experience truly say that the average SWE is…

> A standard CS program will cover statistics

> graphics is a very common and popular elective

I find these statements to be extremely doubtful. Why would a CS program cover statistics? Wouldn't that be the math department? If there any required courses, it's most likely Calc 1/2, Linear Algebra, and Discrete Math.

Also, out of the hundreds of programmers I've met, I don't know any that has done graphics programming. I consider that super niche.

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

#402
post #375

Earlier quoted context omitted.

> also makes little sense to me that M3 machines have fewer sub-20s builds than M2 machines. M3s have a smaller memory bandwidth, they are effectively a downgrade for some use cases.

You are not going to saturate a 150GB/s memory interface building some code on a six-core CPU... these CPUs are fast, but not that fast.

Oh, yes, you are. The optimising steps, linking and the link-time optimisation (LTO) are very heavily memory bound, especially on large codebases.

The Rust compiler routinely hits the 45-50Gb/sec ballpark of the intra-memory transfer speed on compiling a medium sized project, more if the code base large. Haskell (granted, a fringe yet revealing case) case just as routinely hits the 60-70 Gb/sec memory transfer speed at the compile time, and large to very large C++ codebases add a lot of stress on the memory at the optimisation step. If I am not mistaken, Go is also very memory bound.

Then there comes the linking and particularly the LTO that want all the memory bandwidth they can get to get the job done quickly, and the memory speed becomes a major bottleneck. Loading the entire codebase into memory, in fact, the major optimisation technique used in mold[0] that can vastly benefit from a) faster memory, b) a wider memory bus.

[0] https://github.com/rui314/mold

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

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

> and the much bigger systems like M3 Max will be slower (bc they need time to ramp up multiple cores and that’s not happening with bursty incremental builds) Is there some microbenchmark that illustrates the problem, or is this just wild extrapolation from some deep misunderstanding (maybe a bad car analogy about turbo lag?)

Hmm..at least you reasoned that it is a "problem" (and I would say it's more analogous to VLOM switchover than turbo lag ROFL).

For now, if you infrequently do full builds (and instead do incremental builds) and are mainly dragging things around, adding small features, etc. you're better off with less cores, even if those cores do run slower.

I don't really want Apple to "care deeply" us [slowing our phones], so I'mma not help illustrate further because a proper solution could involve a massive Engineering task (maybe Nuvia knows) and even with $3T market cap, they pretty much cheap bastards unless it comes to food courts and office chairs.

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

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

This just in for the 8GB (4GB?) crowd... https://github.com/lyogavin/Anima/tree/main/air_llm

..seems to be enabled by Apple's new MLX framework (which could become even faster https://github.com/ml-explore/mlx/issues/18 --ANE support would be particularly important on a lowly M1, which is the main system that would have been configured with only 8GB)

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

#405

Earlier quoted context omitted.

The Threadripper PRO branding was only introduced 3.5 years ago. The first two generations didn't have any split between workstation parts and enthusiast consumer parts. You must have a first-generation Threadripper, which means it's somewhere between 8 and 16 CPU cores. If you would not significantly benefit from upgrading, it's only because you already have more CPU performance than you need. Today's CPUs are signi…

I guess I should clarify: I am a rust and C++ developer blocked on compilation time, but even then, I am not able to justify the cost of upgrading from a 1950X/128GB DDR4 (good guess!) to the 7950X or 3D. It would be faster, but not in a way that would translate to $$$ directly. (Not to mention the inflation in TRx costs since AMD stopped playing catch-up.) performance-per-watt isn’t interesting to me (except for the…

sTR4 workstations are hard to put down! I'll replace mine one day, probably with whatever ASRock Rack Epyc succeeds the ROMED8-2T with PCIe 5.0.

In the meantime, I wanted something more portable, so I put a 13700K and RTX 3090 in a Lian Li A4-H2O case with an eDP side panel for a nice mITX build. It only needs one cable for power, and it's as great for VR as it is a headless host.

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

#406

Fun read, I like how overkill it is. When I was still employed, I was building our django/postgres thing locally in Docker, with 32gb of ram, and it was a wild improvement in terms of feedback loop latency over my shitty 13" intel mbp, and I think it's seriously underappreciated how important it is to keep that pretty low , or as low as is cost effective. Now that I'm not employed and don't hope to be for a while, I…

I don't know where in the world you are, but B&H in US still sells new 16" M1 Max machines with 64GB memory, 2TB SSD for 2499-2599 depending on the current deal. This is around the price of base M3 Pro with 18/512 configuration, I figure you'll still get 5+ years of use with such machine and never worry about storage or memory.

Good point, although it would feel odd to spend what would amount to about $3500 after tax in CAD on a 3 y.o laptop, albeit a new 3 y.o laptop. For now I'll just stick it out with my Intel thing, since that $3500 is a more expensive $3500 than ever anyway, until my requirements get more demanding.

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

#407
post #282
post #266

Earlier quoted context omitted.

I've been working this way for years, really nice. What is main complaint?

Slowness, latency, lack of control. The usual suspects? There’s moments where you try to do a thing that normal on a local PC and it’s impossible on remote. That cognitive dissonance is the worst.

Yep. And shortcut keys and other smaller behaviors like that get weird sometimes.

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

#408
post #214

Earlier quoted context omitted.

Kind of interesting to think that CI is significantly slower in practice and both systems need to be maintained. Is it just the overhead of pushing through git or are there other reasons as well?

You would need a very perfect and flexible CI system in place that wouldn't need to rebuild anything it doesn't need and only run the tests you want or only recently failed tests etc. Many CI systems would spin up a new box instead of using persistent so likely have to rebuild if no cache, etc. So basically I would say most of the overhead is in not having a persistent box with knowledge of last build or ability to c…

Having persistent boxes with sticky sessions seems seems pretty achievable.

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

#409
post #374

Earlier quoted context omitted.

> Linux we had issues finding nice laptops This is the same issue as before. Laptops are shiny so people don’t even bother considering a regular desktop machine. And yet desktops can be so much more powerful simply because they don’t have the thermal and power delivery restrictions that desktops have.

Laptops have advantages though - for a remote team, they're often a lot more convenient. A lot of people don't have space for a full permanent desk setup for a work desktop on top of their personal use - UK houses aren't huge! Desktops work if you have an office, but our dev team is entirely remote. But you can't take a desktop into a meeting, or take a desktop on the train to our office for in-person meetings/events…

Those are all bad excuses. And they all have fixes other than compromising on the quality of your computer. Laptops for managers who go to meetings, workstations for engineers who actually accomplish things.

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

#410

Earlier quoted context omitted.

https://xkcd.com/1205/

I disagree though. If a task is boring and repetitive, I just won't ever do it. So the comparison for people like me is: "spend X time to automate this task vs not do the task at all". Whereas the xkcd is like (n = frequency that you do the task): "Spend X time to automate this task that takes Y×n time normally and get it down to Z×n time, vs spend Y×n time to do the task"

Even where a task being automated is likely to be done, automation can mean it’s done more reliably or quickly. Automation is generally needed to advance to greater and greater levels of complexity, time-efficient or not.

Also not all minutes have equal value, spending a few hours to save 5 minutes in an emergency with automation can be well worth it.

Post reply on HN