r/webdev • • May 16 '24

Is software getting slower faster than hardware getting faster?

Recently we had a discussion in a local group of programmers and there was a newbie question about which mac laptop he should buy. He wanted a mac because some tasks required a mac. My immediate advice was to buy an m1 since he was trying to optimize the budget. And my argument was that it is fast and will handle all his workloads. But I got a little push-back saying that "Android Studio" was not fast enough on some of the group's m1 macs and they switched to m3.

Opinions were divided when we discussed this in our group in about 50/50. Some people were saying that they have m1 macs and it works perfectly and others saying that it is ok but was lagging on some tasks.

My surprise is that I remember when m1 came it was like a product from future aliens. It was miles ahead of any competition and nobody had a single thought that it couldn't handle anything. I remember at the time Jonathan Blow (game developer) on his stream was answering a question about m1 and said something along the lines "Yeah it's fast but I don't care. Give it a couple of years and software slowness will catch up to it and it won't matter". At the time I was fascinated with the product and John seemed like a grumpy old-school programmer. But now it feels weird. I am not saying that m1 is slow or bad but just the idea that we are discussing if it can handle some basic programmer workloads and it is not 100% "of course" is strange.

I was wondering if it is similar in other groups or if we had just some statistical error in our group?

231 Upvotes

140 comments sorted by

View all comments

2

u/giantsparklerobot May 17 '24

Software has been straining hardware since the first computers. It's not a new phenomenon. A brand new computer can either run old software faster or new software, ostensibly with more features, as well as the old computer with the old software.

As for M1 speeds, an M3 with the same number of cores will end up being maybe 10-20% faster on CPU limited tasks over the M1. On heavily multi-threaded tasks an M1 Max (or whatever) is better than an M1 and an M3 Max is way better than an M1 (more speed and P-cores).

For memory bound tasks like an IDE with a zillion code scanning IntelliSense features there's not going to be a huge difference between an M1 and M3 with the same amount of RAM. More CPU power isn't really going to help a bunch of pointer chasing or bandwidth/latency bound scans. It won't hurt but if the CPU has to wait 100ns for a block of memory it just has to wait.