Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

joshka

At my former job at a FAANG, I did the math on allocating developers machines with 16GB vs 64GB based on actual job tasks with estimates of how much thumb twiddling waiting time that this would save and then multiplied that out by the cost of the developer's time. The cost benefit showed a reasonable ROI that was realized in Weeks for Senior dev salaries (months for juniors).

Based on this, I strongly believe that if you're providing hardware for software engineers, it rarely if ever makes sense to buy anything but the top spec Macbook Pro available, and to upgrade every 2-3 years. I can't comment on non desktop / non-mac scenarios or other job families. YMMV.

svantana

No doubt the math checks out, but I wonder if developer productivity can be quantified that easily. I believe there's a lot of research pointing to people having a somewhat fixed amount of cognitive capacity available per day, and that aligns well with my personal experience. A lot of times, waiting for the computer to finish feels like a micro-break that saves up energy for my next deep thought process.

NBJack

Your brain tends to do better if you can stay focused on your task for consecutive, though not indefinite, periods of time. This varies from person to person, and depends on how long a build/run/test takes. But the challenge for many is that 'break' often becomes a context switch, a potential loss of momentum, and worse may open me up to a distraction rather than a productive use of my time.

For me, personally, a better break is one I define on my calendar and helps me defragment my brain for a short period of time before re-engaging.

I recommend investigating the concept of 'deep work' and drawing your own conclusions.

FpUser

>"A lot of times, waiting for the computer to finish feels like a micro-break that saves up energy for my next deep thought process."

As an ISV I buy my own hardware so I do care about expenses. I can attest that to me waiting for computer to finish feels like a big irritant that can spoil my programming flow. I take my breaks whenever I feel like and do not need a computer to help me. So I pay for top notch desktops (within reason of course).

Spooky23

There’s also the time to market and bureaucracy cost. I took over a place where there was a team of people devoted making sure you had exactly what PC you need.

Configuring devices more generously often lets you get some extra life out of it for people who don’t care about performance. If the beancounters make the choice, you’ll buy last years hardware at a discount and get jammed up when there’s a Windows or application update. Saving money costs money because of the faster refresh cycle.

My standard for sizing this in huge orgs is: count how many distinct applications launch per day. If it’s greater than 5-7, go big. If it’s less, cost optimize with a cheaper config or get the function on RDS.

donw

Also worth factoring in that top-spec hardware will have a longer usable life, especially for non-power users.

nazgul17

This is true, but I find my train of thought slips away if I have to wait more than a handful of seconds, let alone two minutes.

Tying this back to your point, those limited hours of focus time come in blocks, in my experience, and focus time is not easily "entered", either.

malfist

One person's micro breaks are another person's disruption of flow state

arcfour

Simple estimates work surprisingly well for a lot of things because a lot of the 'unquantifiable' complexity being ignored behaves like noise. When you have dozens of factors pulling in different directions—some developers multitask better, some lose flow more easily, some codebases are more memory-hungry, and so on—it all tends to just average out, and the result is reasonably accurate. Accurate enough that it's useful data to make a decision with, at least.

svantana

That sounds reasonable, but there are also factors pulling in the opposite direction, for example Wirth's Law [1], that suggests devs with powerful computers create inefficient software.

1. https://en.wikipedia.org/wiki/Wirth%27s_law

mnahkies

For me the issue is at work with 16gb of ram, I'm basically always running into swap and having things grind to a halt. My personal workstation has 64gb and the only time I experience issues is when something's leaking memory

CamouflagedKiwi

Well depends what kind of time periods you're talking. I've seen one in the past that was 60 minutes vs. 20 minutes (for a full clean compile, but often that is where you find yourself) - that is far more than a micro-break, that is a big chunk of time wasted.

hinkley

You’re not waiting for the end of a thing though. You might hope you are, but the truth is there’s always one little thing you still have to take care of. So until the last build is green and the PR is filed, you’re being held hostage by the train of thought that’s tied to this unit of work. Thinking too much about the next one just ends up adding time to this one.

You’re a grownup. You should know when to take a break and that’ll be getting away from the keyboard, not just frittering time waiting for a slow task to complete.

socalgal2

Most of my friends at FAANG all do their work on servers remotely. Remote edit, remote build. The builds happen in giant networked cloud builders, 100s to 1000s per build. Giving them a faster local machine would do almost nothing because they don't do anything local.

tradrich

...and this is a great setup.

On the laptop you need: - low weight so you can easily take it with you to work elsewhere - excellent screen/GPU - multiple large connected screens - plenty of memory - great keyboard/pointer device

Also: great chair

Frankly, what would be really great is a Mac Vision Pro fully customised as a workstation.

znpy

When I worked at a FAANG, most developers could get remote virtual machine for their development needs. They could pick the machine type and size. It was one of the first thing you'd learn how to do in your emb^H^H^H onboarding :)

So it wasn't uncommon to see people with a measly old 13" macbook pro doing the hard work on a 64cpu/256GB remote machine. Laptops were essentially machines used for reading/writing emails, writing documents and doing meetings. The IDEs had a proprietary extensions to work with remote machines and the custom tooling.

antihero

Ah so the coding was done locally but run remotely?

I nearly went insane when I was forced to code using Citrix.

znpy

> Ah so the coding was done locally but run remotely?

Both, depending on the case and how much you were inclined to fiddle with your setup. And on what kind of software you were writing (most software had a lot of linux-specific code, so running that on a macbook was not really an option).

A lot of colleagues were using either IntelliJ or VScode with proprietary extensions.

A lot of my work revolved around writing scripts and automating stuff, so IntelliJ was an absolutely overkill for me, not to mention that the custom proprietary extensions created more issues than they solved ("I just need to change five lines in a script for christ's sake, i don't need 20GB of stuff to do that")... So ended up investing some time in improving my GNU Emacs skills and reading the GNU Screen documentation, and did all of my work in Emacs running in screen for a few years.

It was very cool to almost never have to actually "stop working". Even if you had to reboot your laptop, your work session was still there uninterrupted. Most updates were applied automatically without needing a full system reboot. And I could still add my systemd units to the OS to start the things i needed.

Also, building onto that, I later integrated stuff like treemacs and eglot mode (along with the language servers for specific languages) and frankly I did not miss much from the usual IDEs.

> I nearly went insane when I was forced to code using Citrix.

Yeah I can see that.

In my case I was doing most of my work in a screen session, so I was using the shell for "actual work" (engineering) and the work macbook for everything else (email, meetings, we browsing etc).

I think that the ergonomics of gnu emacs are largely unchanged if you're using a gui program locally, remotely or a shell session (again, locally or remotely), so for me the user experience was largely unchanged.

Had i had to do my coding in some gui IDE on a remote desktop session I would probably have gone insane as well.

throwaway173738

It sounds more like doing embedded development with a TFTP boot to an NFS mounted root filesystem.

zem

more than that, in the faang jobs I've had you could not even check code out onto your laptop. it had to live on the dev desktop or virtual machine, and be edited remotely.

mvdtnz

> it rarely if ever makes sense to buy anything but the top spec Macbook Pro available

God I wish my employers would stop buying me Macbook Pros and let me work on a proper Linux desktop. I'm sick of shitty thermally throttled slow-ass phone chips on serious work machines.

LeifCarrotson

Just Friday I was dealing with a request from purchasing asking if a laptop with an ultra-low-power 15W TDP CPU and an iGPU with "8GB DDR4 graphics memory (shared) was a suitable replacement for one with a 75W CPU (But also a Core i9) and NVidia RTX4000 mobile 130W GPU in one of our lead engineer's CAD workstations.

No, those are not the same. There's a reason one's the size of a pizza box and costs $5k and the other's the size of an iPad and costs $700.

And yes, I much prefer to build tower workstations with proper thermals and full-sized GPUs, that's the main machine at their desk, but sometimes they need a device they can take with them.

vict7

Curious perspective. Apple silicon is both performant and very power efficient. Of course there are applications where even a top spec MacBook would be unsuitable, but I imagine that would be a very small percentage of folks needing that kind of power.

Sadly, the choice is usually between Mac and Windows—not a Linux desktop. In that case, I’d much prefer a unix-like operating system like MacOS.

To be clear, I am not a “fanboy” and Apple continues to make plenty of missteps. Not all criticisms against Apple are well founded though.

mvdtnz

You very clearly have no experience on powerful desktop machines. A 9950x will absolutely demolish an M3 or M4 Macbook Pro in any possible test, especially multicore testing. And I don't care how "performant" or "efficient" you think it is, those M series chips will be thermally throttled like anything else packaged into a laptop.

Oh, and the vastly superior dekstop rig will also come out cheaper, even with a quality monitor and keyboard.

epolanski

I have a 7950x desktop and an M3 max, they are very distant in performance for development, albeit I'll give credit to Apple for good single core performance that show in some contexts.

BobbyTables2

Wish my employers didn’t same calculation.

Gave developers 16GB RAM and 512MB storage. Spent way too much time worrying about available disk space and needlessly redownloading docker images off the web.

But at least they saved money on hardware expenses!

rk06

You mean 512GB storage?

m463

I always bought a really large monitor for work with my own cash. When most dev's had 19" or 20" I got a 30" for $1500.

best money ever spent. lasted years and years.

for cpus - I wonder how the economics work out when you get into say 32 or 64 core threadrippers? I think it still might be worth it.

dehrmann

FAANG manages the machines. Setting aside the ethics of this level of monitoring, I'd be curious to validate this by soft-limiting OS memory usage and tracking metrics like number of PRs and time someone is actively on the keyboard.

technofiend

My personal experience using virtual desktops vs a MacBook aligns with your analysis. This despite the desktop virtual machines having better network connections. A VM with 16 GB of memory and 8 VCPUs can't compete with an M1 Max laptop.

2shortplanks

This article skips a few important steps - how a faster CPU will have a demonstrable improvement on developer performance.

I would agree with the idea that faster compile times can have a significant improvement in performance. 30s is long enough for a developer to get distracted and go off and check their email, look at social media, etc. Basically turning 30s into 3s can keep a developer in flow.

The critical thing we’re missing here is how increasing the CPU speed will decrease the compile time. What if the compiler is IO bound? Or memory bound? Removing one bottleneck will get you to the next bottleneck, not necessarily get you all the performance gains you want

delusional

I wish I was compiler bound. Nowadays, with everything being in the cloud or whatever I'm more likely to be waiting for Microsoft's MFA (forcing me to pick up my phone, the portal to distractions) or getting some time limited permission from PIM.

The days when 30 seconds pauses for the compiler was the slowest part are long over.

Cyan488

The circuit design software I use, Altium Designer, has a SaaS cloud for managing libraries of components, and version control of projects. I probably spend hours a year waiting for simple things like "load the next 100 parts in this list" or "save this tiny edit to the cloud" as it makes API call after call to do simple operations.

And don't get me started on the cloud ERP software the rest of the company uses...

1over137

You must be a web developer. Doing desktop development, nothing is in the cloud for me. I’m always waiting cor my compiler.

necovek

More likely in an enterprise company using MS tooling (AD/Entra/Outlook/Teams/Office...) with "stringent" security settings.

It gets ridiculous quickly, really.

mordae

IO bound compiler would be weird. Memory, perhaps, but newer CPUs also tend to be able to communicate with RAM faster, so...

I think just having LSP give you answers 2x faster would be great for staying in flow.

crinkly

Compiler is usually IO bound on windows due to NTFS and the small files in MFT and lock contention problem. If you put everything on a ReFS volume it goes a lot faster.

Applies to git operations as well.

blibble

by "IO bound" you mean "MS defender bound"

cout

I've seen gcc+ld use a large amount of disk (dozens of GB) during LTO.

hakfoo

In some cases, the bottlenecks are external.

I've seen a test environment which has most assets local but a few shared services and databases accessed over a VPN which is evidently a VIC-20 connected over dialup.

The dev environment can take 20 seconds to render a page that takes under 1 second on prod. Going to a newer machine with twice the RAM bought no meaningful improvement.

They need a rearchitecture of their dev system far more than faster laptops.

jiggawatts

> under 1 second on prod

There’s your problem. If your expectation was double-digit milliseconds in prod, then non-prod and its VPN also wouldn’t be an issue.

bluGill

I got my boss to get me the most powerful server we could find, $15000 or so. In benchmarks there was minimal benefit and sometimes a loss going with more than 40 cores even though it has 56. (52? - I can't check now) sometimes using more cores slows the build down. We have concluded that memory bandwidth is the limit, but are not sure how to prove it.

hypercube33

If that's true than have you looked at the threadripper or the new Ryzen AI+ 395? I think it has north of 200gbps

bluGill

i have not (above machine was a intel), someone else did get a threaeripper though I don't know which. He reborted similar numbers though I think he was able to use more cores still not all.

The larger point is the fastest may not be faster for your workload so benchmark before spending money. Your workload may be different.

m463

A lot of people miss the multi-core advantage. A lot of times the number of cores is an almost linear decrease in compile time.

You do need a good SSD though. There is a new generation of pcie5 SSDs that came out that seems like it might be quite a bit faster.

yoz-y

I don’t think that we live in an era where a hardware update can bring you down to 3s from 30s, unless the employer really cheaped out on the initial buy.

Now in the tfa they compare laptop to desktop so I guess the title should be “you should buy two computers”

em3rgent0rdr

Another thing to keep in mind when compiling is adding more cores doesn't help with link time, which is usually stuck to a single core and can be a bottleneck.

bullen

Is it worth to keep your old CPU?

I still run a 6600 (65W peak) from 2016 as my daily driver. I have replaced the SSD once (MLC lasted 5 years, hopefully forever with SLC drive from 2011?), 2x 32GB DDR4 sticks (Kingston Micron lasted 8 years, with aliexpress "samsung" sticks for $50 a pop) and Monitor (Eizo FlexScan 1932 lasted 15! years RIP with Eizo RadiForce 191M, highly recommend with f.lux/redshift for exceptional quality of image without blue light)

It's still powerful enough to play any games released this year I throw at it at 60 FPS (with a low profile 3050 from 2024) let alone compile any bloat.

Keep your old CPU until it breaks, completely... or actually until the motherboard breaks; I have a Kaby Lake 35W replacement waititng for the 6600 to die.

chupasaurus

You could buy a SSD with SLC cache that is bigger than in 2011 pure SLC one, and probably cheaper.

bullen

We have gone through this if you look at my comment history.

Yes you can do everything, but not without added complexity, that will end up failing faster.

We have peaked in all tech. Nothing will ever get as good as the raw peak in longevity:

- SSDs ~2011 (pure SLC)

- RAM ~2013 (DDR3 fast low latency but low Hz = cooler = lasts longer)

- CPUs ~2018 (debatable but I think those will outlast everything else)

moffkalast

I'd expect every new generation of computers to not last as long as the last one, we keep reducing the transistor size and that means more fragility. I'm half surprised modern GPUs make it through shipping without melting from static.

My guess is that the most long lived computer gen could be one that still uses through hole components. Not a very useful machine by any metric though I bet.

malfist

What metric are you using to determine peak? Just long life?

I don't know about most people, but how long a wafer of silicon keeps working past its obsolescence, is just not that important

SlowTao

Really depends on your use case. I personally still run my 17 year old 2.4GHz Core 2 duo with 4GB of RAM as my daily runner. I simply do not hit the walls even on that thing. Most folks here simply would not accept that and not because they are spoilt but their works loads demand more.

jcelerier

a 17 year old core 2 duo machine is definitely less powerful than a raspberry pi 5 that is going to use 1/7th of the power.

bullen

Raspberry 5 is a dud, either go 4 or 3588 CM:

http://move.rupy.se/file/radxa_works.mp4

Or in a uConsole.

Also Risc-V tablet:

http://move.rupy.se/file/pinetab-v_2dmmo.png

Not as battle hardened as my Thinkpad X61s but maybe we'll get a GPU driver soon... 3 years later...

SlowTao

Absolutely, but until I can get that easily in a battle harden Thinkpad design, I will probably still be using this. I aam not against upgrading at all, just haven't needed it yet. That said this last year, a lot of applications have finally grown to the point that I can see the horizon creeping closer.

arcfour

I love those as routers, firewalls, and other random devices on my mess of a home network where I just set things up for fun. Or as little NASes for friends and family that I can give to them for free or whatever.

Paianni

Nothing older than Nehalem and Bulldozer got microcode mitigations for Spectre, so I'd say running a C2D online would be a liability by now.

vardump

…IF anyone really bothered to develop exploits against something practically no one uses anymore at this point.

uncircle

I am still waiting to hear about a proven exploit in the wild for all that stuff we’re mitigating against.

Mawr

If you don't care about power efficiency, sure ;)

DanielHB

I bought a geforce RTX 3080 at launch and boy was I surprised at the power draw and heat/noise it pumps out. I wonder why anybody bothers with the 90 series at all.

I actually run it ~10% underclocked, barely affects performance, but greatly reduces heat/noise. These cards are configured to deliver maximum performance at any cost (besides system instability).

My next GPU I am probably going mid-range to be honest, these beefy GPUs are not worth it anymore cost and performance-wise. You are better off buying the cheaper models and upgrading more often.

mwpmaybe

> I bought a geforce RTX 3080 at launch and boy was I surprised at the power draw and heat/noise it pumps out. I wonder why anybody bothers with the 90 series at all.

More VRAM, and NVLink (on some models). You can easily run them at lower power limits. I've run CUDA workloads with my dual 3090s set as low as 170W to hit that sweet spot on the efficiency curve. You can actually go all the way down to 100W!

mrheosuper

When i bought the 3080ti, it really made me to rethink about my setup. I'm using space heater in an Air-conditioned room, wasting more energy for nothing.

undefined

[deleted]

bullen

When it comes to: "is it better to throw away the 6600 and replace it with a 5600, than keep running the 6600" I'm torn but: you probably need to use the 5600 for maybe 20 years to compensate for it's manufacturing energy cost (which is not directly linked to $ cost) and I think the 6600 might last that long with new RAM 10 years down the road, not so sure the newer 5600 motherboard and the CPU itself will make it that long becuse it was probably made to break to a larger extent.

Also the 6600 can be passively cooled in the Streacom case I allready have, the 5600 is to hot.

mwpmaybe

This is a little confusing because you were referring to a Core i5-6600 and presumably an i5-7500T or i7-7700T above but now you mention a 5600. Are you referring to a Ryzen 5 5600?

ThatPlayer

It very much depends on the games you play though. When I upgraded from a 7700k, it was struggling with my Factorio world. My AMD 5700X3D handles it completely smoothly. Though now in Path of Exile 2, my CPU can barely maintain 30 fps during big fights.

bullen

CPU is now the bottleneck for games that struggle, which makes sense since GPU most often is configurable, while gameplay well is the hardcoded gameplay.

See PUBG that has bloated Unreal so far past what any 4-core computer can handle because of anti-cheats and other incremental changes.

Factorio could add some "how many chunks to simulate" config then? If that does not break gameplay completely.

kevin_thibedeau

I upgraded two years ago to a Ryzen 5700 rather than a 5800 specifically for the lower TDP. I rarely max out the cores and the cooler system means the fan rarely spins up to audible levels.

bpye

Most (if not all?) BIOSes today will let you limit the TDP - on AMD it’s often called eco mode.

bullen

Cool, can you tune exactly how many watts or just on/off?

seabrookmx

E5-2650v2 in a Chinese mATX motherboard for me. Got the cpu years ago for like $50 as an eBay server pull. 970 Evo SSD. 24GB of mismatched DDR3. Runs all my home server junk and my dev environment (containerized with Incus). Every year I tell myself I should grab a newer Ryzen to replace it but it honestly just keeps chugging along and doesn't really slow me down.

TacticalCoder

> Is it worth to keep your old CPU?

I just "re-cycle" them.

Bought a 7700X two years ago. My 3600X went to my wife. Previous machine (forgot which one it was but some Intel CPU) went to my mother-in-law. Machine three machines before that, my trusty old Core i7-6700K from 2015 (I think 2015): it's now a little Proxmox server at home.

I'll probably buy a 9900X or something now: don't want to wait late 2026/2027 for Zen 6 to come out. 7700X shall go to the wife, 3600X to the kid.

My machines typically work for a very long time: I carefully pick the components and assemble them myself and then test them. Usually when I pull the plug for the final time, it's still working fine.

But yet I like to be not too far behind: my 7700X from 2022 is okay. But I'll still upgrade. Doesn't mean it's not worth keeping: I'll keep it, just not for me.

bullen

Yep me too:

Thinkpad X61s(45nm) DDR2 / D512MO(45nm) DDR2 / 3770S(22nm) DDR3 / 4430S(22nm) DDR3

All still in client use.

All got new RAM this year and when the SSDs break (all have SLC) I have new SLC SSDs and will install headless linux for server duty on 1Gb/s symmertic fiber until the motherboards break in a way I can't repair. Will probably resolder caps.

WarOnPrivacy

There are peaks in long-term CPU value. That is, CPUs that are 1) performant enough to handle general purpose computing for a decade and 2) outperform later chips for a long time.

The i7-4770 was one. It reliably outperformed later Intel CPUs until near 10th gen or so. I know shops that are still plugging away on them. The first comparable replacements for it is the i7-12700 (but the i5-12400 is a good buy).

At 13th gen, Intel swaps E for P cores. They have their place but I still prefer 12th gen for new desktops.

Past all that, the author is right about the AMD Ryzen 9950x. It's a phenomenal chip. I used one in a friend's custom build (biz, local llm) and it'll be in use in 2035.

mwpmaybe

> The i7-4770 was one. It reliably outperformed later Intel CPUs until near 10th gen or so.

Per which benchmarks?

> At 13th gen, Intel swaps E for P cores.

One nit, Intel started adding (not swapping) E-cores to desktop parts with 12th gen, but i3 parts and most i5 parts were spared. More desktop i5 parts got them as starting with 13th gen.

zozbot234

What's wrong with E cores? They're the best bang for the buck for both baseline low-power usage (and real-world systems are idle a lot of the time) and heavy multicore workloads. An E-core cluster takes a tiny fraction of area and power compared to a P-core, so it's not just a one-on-one comparison.

jhanschoo

Important caveat that the author neglects to mention since they are discussing laptop CPUs in the same breath:

The limiting factor on high-end laptops is their thermal envelope. Get the better CPU as long as it is more power efficient. Then get brands that design proper thermal solutions.

krisroadruck

You simply cannot cram enough cooling and power into a laptop to have it equal a desktop high end desktop CPU of the same generation. There is physically not enough room. Just about the only way to even approach that would be to have liquid cooling loop ports out the back that you had to plug into an under-desk cooling loop and I don't think anyone is doing that because at that point just get a frickin desktop computer + all the other conveniences that come with it (discrete peripherals, multiple monitors, et cetera). I honestly do not understand why so many devs seem to insist on doing work on a laptop. My best guess is this is mostly the apple crowd because apple "desktops" are for the most part - just the same hardware in a larger box instead of being actually a different class of machine. A little better on the thermals, but not the drastic jump you see between laptops and desktops from AMD and Intel.

scns

> the only way to even approach that would be to have liquid cooling loop ports out the back that you had to plug into an under-desk cooling loop and I don't think anyone is doing that

It is (maybe was) done by XMG and Schenker. Called Oasis IIRC. Yep

https://www.xmg.gg/en/xmg-oasis/

necovek

If you have to do any travel for work, a lightweight but fast portable machine that is easy to lug around beats any productivity gains from two machines (one much faster) due to the challenge of keeping two devices in sync.

tuna74

Having a backup system can be kind of priceless sometimes. Also, if you have a desktop and a laptop you probably use one of them 80-90% of the time, so you rarely loose time syncing stuff.

lawn

I do this regularly and it's really not a big concern.

pjmlp

Carrying a desktop on the backpack is kind of hard for the work I do as a developer, not everyone is seating on a desk the full day, or has an assigned work desk at a specific office.

I work mostly remote, and also need to jump between office locations and customer sites as well.

Member of Windows/UNIX crowd since several decades.

add-sub-mul-div

> I honestly do not understand why so many devs seem to insist on doing work on a laptop.

Their employers made it the culture so that working from home/vacation would be easy.

necovek

A better look at it is to say that they started allowing working from home.

I've worked fully remotely in a couple of global remote-first company since 2006 for a decade-plus — it was my choice how I wanted to set up my working conditions, with company paying for a "laptop refresh" every 3 years which I did not have to use on a laptop.

winrid

It's also nice to be able to change environments where I work.

kelnos

> I honestly do not understand why so many devs seem to insist on doing work on a laptop.

I hate having more than one machine to keep track of and maintain. Keeping files in sync, configuration in sync, everything updated, even just things like the same browser windows with the same browser tabs, organized on my desktop in the same way. It's annoying enough to have to keep track of all that for one machine. I do have several machines at home (self-built NAS, media center box, home automation box), and I don't love dealing with them, but fortunately I mainly just have to ensure they remain updated, not keep anything in sync with other things.

(I'm also one of those people who gets yelled at by the IT security team when they find out I've been using my personal laptop for work... and then ignores them and continues to do it, because my personal laptop is way nicer than the laptop they've given me, I'm way more productive on it, and I guarantee I know more about securing a Linux laptop and responsibly handling company data than the Windows/Mac folks in the company's IT department. Yes, I know all the reasons, both real and compliance-y, why this is still problematic, but I simply do not care, and won't work for a company that won't quietly look the other way on this.)

I also rarely do my work at a desk; I'm usually on a couch or a comfy chair, or out working in a public place. If all I had was a desktop, I'd never do any work. If I had a desktop in addition to my laptop, I'd never use the desktop. (This is why I sold my personal home desktop computer back in the late '00s: I hadn't even powered it on in over a year.)

> ...why so many devs seem to insist...

I actually wonder if this was originally driven by devs. At my first real job (2001-2004) I was issued a desktop machine (and a Sun Ray terminal!), and only did work at the office. I wouldn't even check work email from home. At my second job (2004-2009), I was given a Windows laptop, and was expected to be available to answer the odd email in my off hours, but not really do much in the way of real work. I also had to travel here and there, so having the laptop was useful. I often left the laptop in the office overnight, though. When I was doing programming at that company, I was using a desktop machine running Linux, so I was definitely not coding at home for work.

At the following job, in 2009, I was given a MacBook Pro that I installed Linux on. I didn't have a choice in this, that's just what I was given. But now I was taking my work laptop home with me every day, and doing work on my off hours, even on weekends. Sneaky, right? I thought it was very cool that they gave me a really nice laptop to do work on, and in return, I "accidentally" started working when I wasn't even in the office!

So by giving my a laptop instead of a desktop, they turned me from a 9-5 worker, into something a lot more than that. Pretty good deal for the company! It wasn't all bad, though. By the end of the '10s I was working from home most days, enjoying a flexible work schedule where I could put in my hours whenever it was most convenient for me. As long as I was available for meetings, spent at least some time in the office, and produced solid work in a timely manner, no one cared specifically when I did it. For me, the pandemic just formalized what I'd already been doing work-wise. (Obviously it screwed up everything outside of work, but that's another story.)

> My best guess is this is mostly the apple crowd...

Linux user here, with a non-Apple laptop.

apt-apt-apt-apt

* Me shamefully hiding my no-fan MBA used for development... *

avidiax

Employers, even the rich FANG types, are quite penny-wise and pound-foolish when it comes to developer hardware.

Limiting the number and size of monitors. Putting speedbumps (like assessments or doctor's notes) on ergo accessories. Requiring special approval for powerful hardware. Requiring special approval for travel, and setting hotel and airfare caps that haven't been adjusted for inflation.

To be fair, I know plenty of people that would order the highest spec MacBook just to do web development and open 500 chrome tabs. There is abuse. But that abuse is really capped out at a few thousand in laptops, monitors and workstations, even with high-end specs, which is just a small fraction of one year's salary for a developer.

Aurornis

Every well funded startup I’ve worked for went through a period where employees could get nearly anything they asked for: New computers, more monitors, special chairs, standing desks, SaaS software, DoorDash when working late. If engineers said they needed it, they got it.

Then some period of time later they start looking at spending in detail and can’t believe how much is being spent by the 25% or so who abuse the possibly. Then the controls come.

> There is abuse. But that abuse is really capped out at a few thousand in laptops, monitors and workstations, even with high-end specs,

You would think, but in the age of $6,000 fully specced MacBook Pros, $2,000 monitors, $3,000 standing desks, $1500 iPads with $100 Apple pencils and $300 keyboard cases, $1,000 chairs, SaaS licenses that add up, and (if allowed) food delivery services for “special circumstances” that turns into a regular occurrence it was common to see individuals incurring expenses in the tens of thousands range. It’s hard to believe if you’re a person who moderates their own expenditures.

Some people see a company policy as something meant to be exploited until a hidden limit is reached.

There also starts to be some soft fraud at scales higher than you’d imagine: When someone could get a new laptop without questions, old ones started “getting stolen” at a much higher rate. When we offered food delivery for staying late, a lot of people started staying just late enough for the food delivery to arrive while scrolling on their phones and then walking out the door with their meal.

lukan

"$1,000 chairs"

Not an expert here, but from what I heard, that would be a bargain for a good office chair. And having a good chair or not - you literally feel the difference.

WalterBright

I've been using the same $25 chair I bought 45 years ago. I've always thought the "ergonomic chair" was a scam.

madog

For sure. $1000 Herman Miller Aeron has been worth every penny considering the time spent sat on it.

locusofself

Ergonomics is definitely something to skimp on!

necovek

If $20k is misspent by 1 in 100 employees, that's still $200 per employee per year: peanuts, really.

Just like with "policing", I'd only focus on uncovering and dealing with abusers after the fact, not on everyone — giving most people "benefits" that instead makes them feel valued.

engineer_22

The effect on morale shouldn't be ignored tho either

appreciatorBus

So then just set a limit of $200 per head instead of allowing a few bad apples to spend $20k all on themselves.

Aeolun

Don’t you think the problem there is that you hired the wrong people?

SteveJS

Was trying to remember a counter example on good hires and wasted money.

Alex St. John Microsoft Windows 95 era, created directX annnnd also built an alien spaceship.

I dimly recalled it as a friend in the games division telling me about some someone getting 5 and a 1 review scores in close succession.

Facts i could find (yes i asked an llm)

5.0 review: Moderately supported. St. John himself hosted a copy of his Jan 10, 1996 Microsoft performance review on his blog (the file listing still exists in archives). It reportedly shows a 5.0 rating, which in that era was the rare top-box mark. Fired a year later: Factual. In an open letter (published via GameSpot) he states he was escorted out of Microsoft on June 24, 1997, about 18 months after the 5.0 review. Judgment Day II alien spaceship party: Well documented as a plan. St. John’s own account (quoted in Neowin, Gizmodo, and others) describes an H.R. Giger–designed alien-ship interior in an Alameda air hangar, complete with X-Files cast involvement and a Gates “head reveal” gag. Sunk cost before cancellation: Supported. St. John says the shutdown came “a couple of weeks” before the 1996 event date, after ~$4.3M had already been spent/committed (≈$1.2M MS budget + ≈$1.1M sponsors + additional sunk costs). Independent summaries repeat this figure (“in excess of $4 million”).

So: 5.0 review — moderate evidence Fired 1997 — factual Alien spaceship build planned — factual ≈$4M sunk costs — supported by St. John’s own retrospective and secondary reporting

michaelt

Well partly, yes.

But also, when I tell one of my reports to spec and order himself a PC, there should be several controls in place.

Firstly, I should give clear enough instructions that they know whether they should be spending around $600, $1500, or $6000.

Second, although my reports can freely spend ~$100 no questions asked, expenses in the $1000+ region should require my approval.

Thirdly, there is monitoring of where money is going; spending where the paperwork isn't in order gets flagged and checked. If someone with access to the company amazon account gets an above-ground pool shipped to their home, you can bet there will be questions to be answered.

spyckie2

Basic statistics. You can find 10 people that will probably not abuse the system but definitely not 100.

It’s like your friend group and time choosing a place to eat. It’s not your friends, it’s the law of averages.

jayd16

Maybe so but it's not like that's something you can really control. You can control the policy so that is what's done.

mort96

As a company grows, it will undoubtedly hire some "wrong people" along the way.

dcrazy

Is it “soft fraud” when a manager at an investment bank regularly demands unreasonable productivity from their junior analysts, causing them to work late and effectively reduce their compensation rate? Only if the word “abuse” isn’t ambiguous and loaded enough for you!

AtlanticThird

Lying about a laptop being stolen is black and white. I'm not sure how you are trying to say that is ambiguous.

I don't know what the hell you mean by the term unreasonable. Are you under the impression that investment banking analysts do not think they will have to work late before they take the role?

WalterBright

Your employer being unreasonable is not an excuse to defraud him in return.

Negotiate for better conditions. If agreement cannot be reached, find another job.

gregshap

The pay and working hours are extremely well known to incoming jr investment bankers

wmf

Working late is official company policy in investment banking.

dingnuts

Is this meant to be a gotcha question? Yes, unpaid overtime is fraud, and employers commit that kind of fraud probably just as regularly as employees doing the things up thread.

none of it is good lol

mpyne

> It’s hard to believe if you’re a person who moderates their own expenditures.

Yeah, it's hard to convey to people who've never been responsible for setting (or proposing) policy that it's not a game of optimizing the average result, but of minimizing the worst-case result.

You and I and most people are not out to arbitrage the company's resources but you and I and most people are also not the reason policy exists.

It was depressing to run into that reality myself as policy controls really do interfere sometimes in allowing people to access benefits the organization wants them to have, but the alternative is that the entire budget for perks ends up in the hands of a very few people until the benefit goes away completely.

incone123

$3,000 standing desks?? It's some wood, metal and motors. I got one from IKEA in about 2018 for 500 gbp and it's still my desk today. You can get Chinese ones now for about 150 gbp.

Aurornis

The people demanding new top spec MacBook Pros every year aren’t the same people requesting the cheapest Chinese standing desk they can find.

wslh

Breaking news: "Trump tariffs live updates: Trump says US to tariff furniture imports following investigation"<https://finance.yahoo.com/news/live/trump-tariffs-live-updat...>

skinkestek

2 things:

1. My brothers (I have a number of them) mostly work in construction somehow. It feels most of them drive a VW Transporter, a large pickup or something, each carrying at least $30 000 in equipment.

Seeing people I work with get laptops that use multiple minutes to connect to a postgres database that I connect to in seconds feels really stupid. (I'm old enough that I get what I need, they usually rather pay for a decent laptop rather than start a hiring process.)

2. My previous employer did something really smart:

They used to have a policy that you got a basic laptop and an inexpensive phone, but you could ask for more if you needed. Which of course meant some people got nothing and some people got custom keyboards and what not.

That was replaced with a $1000 budget on your first day an $800 every year that was meant to cover phones and everything you needed. You could alsp borrow from next year. So if someone felt they needed the newest iPhone or Samsung? Fine, save up one year(or borrow from next year) and you have it.

Others like me who don't care that much about phones could get a reasonably priced one + a gpod monitor for my upstairs office at home + some more gear.

And now the rules are the same for everyone so even I get (I feel I'm hopeless when it comes to arguing my case with IT, but now it was a simple: do you have money for it? yes/no)

baq

> individuals incurring expenses in the tens of thousands range

peanuts compared to their 500k TC

Aurornis

Very few companies pay $500K. Even at FAANG a lot of people are compensated less than that.

I do think a lot of this comment section is assuming $500K TC employees at employers with infinite cash to spend, though.

pengaru

500k is not the average, and anyone at that level+ can get fancy hardware if they want it.

groby_b

One, not everybody gets 500K TC.

Two, several tens of thousands are in the 5%-10% range. Hardly "peanuts". But I suppose you'll be happy to hear "no raise for you, that's just peanuts compared to your TC", right?

bigstrat2003

Not only are most developers (let alone other employees) making nowhere near that, why should spending $500k mean you waste $10k? Even saving small amounts matters when you add it up.

geor9e

I know a FAANG company whose IT department, for the last few years, has been "out of stock" for SSD drives over 250GB . They claim its a global market issue (it's not). There's constant complaining in the chats for folks who compile locally. The engineers make $300k+ so they just buy a second SSD from Amazon on their credit cards and self-install them without mentioning it to the IT dept. I've never heard a rational explanation for the "shortage" other than chronic incompetence from the team supplying engineers with laptops/desktops. Meanwhile, spinning up a 100TB cloud VM has no friction whatsoever there. It's a cushy place to work tho, so folks just accept the comically dumb aspects everyone knows about.

halz

I've wondered if that's to make dealing with full disk backup/forensic collections/retention legal hold/etc easier: keep the official amount of end-user device storage to a minimum. And/or it forces the endpoint to depend on network/cloud storage, giving better business intelligence on what data is "hot".

compiler-guy

Unfortunately, there isn’t much you can do other than fuss at some random director or feedback form. Or quit, I guess. But that seems a little extreme.

Anyway, your choices of what to do about idiocy like this are pretty limited.

loeg

I think you're maybe underestimating the aggregate cost of totally unconstrained hardware/travel spending across tens or hundreds of thousands of employees, and overestimating the benefits. There need to be some limits or speedbumps to spending, or a handful of careless employees will spend the moon.

adverbly

It's the opposite.

You're underestimating the scope of time lost by losing a few percent in productivity per employee across hundreds of thousands of employees.

You want speed limits not speed bumps. And they should be pretty high limits...

loeg

I don't believe anyone is losing >1% productivity from these measures (at FANG employers).

corimaith

The cost of a good office chair is comparable to a top tier gaming pc, if not higher.

kec

Not for an enterprise buying (or renting) furniture in bulk it isn’t. The chair will also easily last a decade and be turned over to the next employee if this one leaves… unlike computer hardware which is unlikely to be reused and will historically need to be replaced every 24-36 months even if your dev sticks around anyway.

loeg

Are there any FANG employers unwilling to provide good office chairs? I think even cheap employers offer these.

BlandDuck

Scaling cuts both ways. You may also be underestimating the aggregate benefits of slight improvements added up across hundreds or thousands of employees.

For a single person, slight improvements added up over regular, e.g., daily or weekly, intervals compound to enormous benefits over time.

XKCD: https://xkcd.com/1205/

Retric

The breakeven rate on developer hardware is based on the value a company extracts not their salary. Someone making X$/year directly has a great deal of overhead in terms of office space and managers etc, and above that the company only employees them because the company gains even more value.

Saving 1 second/employee/day can quickly be worth 10+$/employee/year (or even several times that). But you rarely see companies optimizing their internal processes based on that kind of perceived benefits.

Water cooler placement in a cube farm comes to mind as a surprisingly valuable optimization problem.

jjmarr

It's not abuse to open 500 Chrome tabs if they're work-related and increase my productivity.

I am 100x more expensive than the laptop. Anything the laptop can do instead of me is something the laptop should be doing instead of me.

kelnos

I agree with your overall point, but:

> But that abuse is really capped out at a few thousand

That abuse easily goes into the tens of thousands of dollars, even several hundred thousand, even at a relatively small shop. I just took a quick look at Apple's store, and wow! The most expensive 14" MacBook Pro I could configure (minus extra software) tops out at a little over $7,000! The cheapest is at $1,600, and a more reasonably-specced, mid-range machine (that is probably perfectly sufficient for dev work), can be had for $2,600.

Let's even round that up to $3,000. That's $4,000 less than the high end. Even just one crazy-specced laptop purchase would max out your "capped out at a few thousand" figure.

And we're maybe not even talking about abuse all the time. An employee might fully earnestly believe that they will be significantly more productive with a spec list that costs $4,000, when in reality that $3,000 will be more or less identical for them.

Multiply these individual choices out to a 20 or 40 or 60 person team, and that's real money, especially for a small startup. And we haven't even started talking about monitors and fancy ergonomic chairs and stuff. 60 people spending on average $2,000 each more than they truly need to spend will cost $120k. (And I've worked at a place that didn't eliminate their "buy whatever you think you'll need" policies until they had more than 150 employees!)

forgotusername6

Just to do web development? I regularly go into swap running everything I need on my laptop. Ideally I'd have VScode, webpack, and jest running continuously. I'd also occasionally need playwright. That's all before I open a chrome tab.

SoftTalker

This explains a lot about why the modern web is the way it is.

thfuran

I do think a lot of software would be much better if all devs were working on hardware that was midrange five years ago and over a flaky WiFi connection.

llbbdd

Always amuses me when I see someone use web development as an example like this. Web dev is very easily in the realm of game dev as far as required specs for your machine, otherwise you're probably not doing much actual web dev. If anything, engineers doing nothing but running little Java or Python servers don't need anything more than a PI and a two-color external display to do their job.

tgma

FANG is not monolithic. Amazon is famously cheap. So is Apple in my opinion based on what I have heard (you get random refurbished hardware that is available not some standardized thing, sometimes with 8GB RAM sometimes something nicer) Apple is also famously cheap on their compensation. Back in the day they proudly said shit to the effect of "we deliberately don't pay you top of the market because you have to love Apple" to which the only valid answer is "go fuck yourself."

Google and Facebook I don't think are cheap for developers. I can speak firsthand for my past Google experience. You have to note that the company has like 200k employees and there needs to be some controls and not all of the company are engineers.

Hardware -> for the vast majority of stuff, you can build with blaze (think bazel) on a build cluster and cache, so local CPU is not as important. Nevertheless, you can easily order other stuff should you need to. Sure, if you go beyond the standard issue, your cost center will be charged and your manager gets an email. I don't think any decent manager would block you. If they do, change teams. Some powerful hardware that needs approval is blanket whitelisted for certain orgs that recognize such need.

Trips -> Google has this interesting model you have a soft cap for trips and if you don't hit the cap, you pocket half of the trips credit in your account which you can choose to spend later when you are overcap or you want to get something slightly nicer the next time. Also, they have clear and sane policies on mixing personal and corporate travel. I encourage everyone to learn about and deploy things like that in their companies. The caps are usually not unreasonable, but if you do hit them, it is again an email to your management chain, not some big deal. Never seen it blocked. If your request is reasonable and your manager is shrugging about this stuff, that should reflect on them being cheap not the company policy.

fmajid

iOS development is still mostly local which is why most of the iOS developers at my previous Big Tech employer got Mac Studios as compiler machines in addition to their MacBook Pros. This requires director approval but is a formality.

I read Google is now issuing Chromebooks instead of proper computers to non-engineers, which has got to be corrosive to productivity and morale.

tgma

Google issued Chromebooks are not crap with 2GB RAM and Celeron. There were even engineers who voluntarily preferred them. From a security standpoint they are superb.

SoftTalker

If you're not a developer and everything you need for your job runs in a browser, what's wrong with a Chromebook?

undefined

[deleted]

walterbell

> Chromebooks ... to non-engineers

"AI" (Plus) Chromebooks?

beachtaxidriver

Google used to be so un-cheap they had a dedicated ergo lab room where you could try out different keyboards.

They eventually became so cheap they blanket paused refreshing developer laptops...

toast0

Yahoo was cheap/stingy/cost concious as hell. They still had a well stocked ergo team, at least for the years I was there. You'd schedule an ergo consult during new hire orientation, and you'd get a properly sized seat and your desk height adjusted if needed and etc. Lots of ergo keyboards, although I didn't see a lot of kinesis back then.

Proper ergo is a cost concious move. It helps keep your employees able to work which saves on hiring and training. It reduces medical expenses, which affects the bottom line because large companies are usually self-insured; they pay a medical insurance company only to administer the plan, not for insurance --- claims are paid from company money.

walterbell

Some BigCos would benefit from <Brand> version numbers to demarcate changes in corporate leadership, culture and fiscal policy.

likpok

The soft cap thing seems like exactly this kind of penny-foolish behavior though. I’ve seen people spend hours trying to optimize their travel to hit the cap — or dealing with flight changes, etc that come from the “expense the flight later” model.

All this at my company would be a call or chat to the travel agent (which, sure, kind of a pain, but they also paid for dedicated agents so wait time was generally good).

PartiallyTyped

Not sure what you are talking about re amzn.

I have a pretty high end MacBook Pro, and that pales in comparison to the compute I have access to.

tgma

The OP was talking beyond just compute hardware. Stuff like this: https://www.reddit.com/r/womenintech/comments/1jusbj2/amazon...

alt227

> sometimes with 8GB RAM

Apple have long thought that 8Gb ram is good enough for anything, and will continue to for some time now.

laidoffamazon

How do you know someone worked at Google?

Don’t worry, they’ll tell you

MonkeyClub

> Back in the day they proudly said shit to the effect of "we deliberately don't pay you top of the market because you have to love Apple" to which the only valid answer is "go fuck yourself."

So people started slacking off, because "you have to love your employees"?

diminish

Multi-core operations like compiling C/C++ could benefit.

Single thread performance of 16-core AMD Ryzen 9 9950X is only 1.8x of my poor and old laptop's 4-core i5 performance. https://www.cpubenchmark.net/compare/6211vs3830vs3947/AMD-Ry...

I'm waiting for >1024 core ARM desktops, with >1TB of unified gpu memory to be able to run some large LLMs with

Ping me when some builds this :)

zh3

Yes, just went from i3770 (12 years old!) to a 9900x as I tend to wait for a doubling of single core performance before upgrading (got through a lot of PCs in the 386/486 era!). It's actually only 50% faster according to cpubenchmark [0] but is twice as fast in local usage (multithread is reported about 3 times faster).

Also got a Mac Mini M4 recently and that thing feels slow in comparison to both these systems - likely more of a UI/software thing (only use M4 for xcode) than being down to raw CPU performance.

[0] https://www.cpubenchmark.net/compare/Intel-i9-9900K-vs-Intel...

fmajid

M4 is amazing hardware held up by a sub-par OS. One of the biggest bottlenecks when compiling software on a Mac is notarization, where every executable you compile causes a HTTP call to Apple. In addition to being a privacy nightmare, this causes the configure step in autoconf based packages to be excruciatingly slow.

gentooflux

They added always-connected DRM to software development, neat

scosman

Notarization isn’t called for the vast majority of builds on the vast majority of build systems.

Your local dev builds don’t call it or require it.

It’s only needed for release builds, where you want it notorized (required on iOS, highly recommended for MacOS). I make a Mac app and I call the notarization service once or twice a month.

glitchc

Does this mean that compilation fails without an internet connection? If so, that's horrifying.

kelnos

Wait wait wait wait wait. So you're saying that a configure script that compiles a 5-line test program (and does this 50 times) to check if a feature is present or a compiler flag works... will have to call out to Apple for permission to do so??

Ugh. Disgusting. So glad I stopped using macOS years ago. (Even if this isn't actually true... still glad I stopped using Apple's we-know-better-than-you OS years ago.)

It is amazing to me that people put up with this garbage and don't use an OS that respects them more.

torginus

I jumped ahead about 5 generations of Intel, when I got my new laptop and while the performance wasn't much better, the fact that I changed from a 10 pound workstation beast that sounded like a vacuum cleaner, to a svelte 13 inch laptop that works with a tiny USB C brick, and barely runs its fans while being just as fast made it worthwhile for me.

beezle

When ever I've built a new desktop I've always gone near the top performance with some consideration given to cache and power consumption (remember when peeps cared about that? lol).

From dual pentium pros to my current desktop - Xeon E3-1245 v3 @ 3.40GHz built with 32 GB top end ram in late 2012 which has only recently started to feel a little pokey, I think largely due to cpu security mitigations added to Windows over the years.

So that extra few hundred up front gets me many years extra on the backend.

ocdtrekkie

I think people overestimate the value of a little bump in performance. I recently built a gaming PC with a 9700X. The 9800X3D is drastically more popular, for an 18% performance bump on benchmarks but double the power draw. I rarely peg my CPU, but I am always drawing power.

Higher power draw means it runs hotter, and it stresses the power supply and cooling systems more. I'd rather go a little more modest for a system that's likely to wear out much, much slower.

rafaelmn

Is it really 2x or is it 2x at max load ? Since, as you say, you're not peggig the CPU - would be interesting to compare power usage on a task basis and the duration. Could be that the 3D cache is really adding that much overhead even to idle CPU.

Anyway I've never regretted buying a faster CPU (GPU is a different story, burned some money there on short time window gains that were marginally relevant), but I did regret saving on it (going with M4 air vs M4 pro)

msk-lywenn

I recently had some fun overclocking my old i5 4690.

IIRC, running the base frequency at 3.9Ghz instead of 3.5GHz, yield a very modest performance boost but added 20% more power consumption and temperature.

I then underclocked it to 3.1Ghz and the thing barely ran at more than 40°C under load and power consumption was super low! The performance was more than mediocre though...

kaspar030

> Top end CPUs are about 3x faster than the comparable top end models 3 years ago

I wish that were true, but the current Ryzen 9950 is maybe 50% faster than the two generations older 5950, at compilation workloads.

tgma

Not even. Probably closer to 30%, and that's if you are doing actual many-core compile workloads on your critical path.

ben-schaaf

Phoronix has actual benchmarks: https://www.phoronix.com/review/amd-ryzen-9950x-9900x/2

It's not 3x, but it's most certainly above 1.3x. Average for compilation seems to be around 1.7-1.8x.

tgma

Oh, fair enough -- you are correct compared to 5950x. I was mentally comparing my personal experience with 7950x. Yes 1.7-1.9x seems fair for a bump from 5950x to 9950x (albeit at a higher power draw).

szatkus

The author used kernel compilation as a benchmark. Which is weird, because for most projects a build process isn't as scalable as that (especially in the node.js ecosystem), even less after a full build.

sgarland

Tangential: TIL you can compile the Linux kernel in < 1 minute (on top-spec hardware). Seems it’s been a while since I’ve done that, because I remember it being more like an hour or more.

mwpmaybe

I suspect that's a very slimmed-down .config and probably only e.g. `make bzImage`, versus something like a Debian kernel .config with modules, headers, etc. A full Ubuntu kernel takes quite a bit longer on my 5950X, which is admittedly quite a bit slower than a 9950X but still no laggard. I'll time it and update this comment later...

ETA: After dropping caches it took 18m40s to build Ubuntu mainline 6.16.3 with gcc-14 on my 5950X, with packages for everything including linux-doc, linux-rust-lib, linux-source, etc. I'd expect the same operation to take about 11m on a 9950X.

It's also not clear whether OP used Clang or GCC to build the kernel. Clang would be faster.

burnt-resistor

In 2003, Egenera boxes could compile Linux in around 15 seconds.

Even my dual 7402 with 96 threads and 512 GiB of RAM can't compile a maximal Linux config x86 build in RAM in under 3 minutes.

What I find helps repeated builds is maintaining a memcache server instance for sccache.

bornfreddy

I remember I was blown away by some machine that compiled it in ~45 minutes. Pentium Pro baby! Those were the days.

sgarland

My memory must be faulty, then, because I was mostly building it on an Athlon XP 2000+, which is definitely a few generations newer than a Pentium Pro.

I’m probably thinking of various other packages, since at the time I was all-in on Gentoo. I distinctly remember trying to get distcc running to have the other computers (a Celeron 333 MHz and Pentium III 550 MHz) helping out for overnight builds.

Can’t say that I miss that, because I spent more time configuring, troubleshooting, and building than using, but it did teach me a fair amount about Linux in general, and that’s definitely been worth it.

kelnos

Linux kernel compilation time depends heavily on what you're compiling though. You can have wildly different compilation times just by enabling or disabling some drivers or subsystems.

mwpmaybe

Painful memories of trying to build the kernel on my 486DX2/50, letting it run overnight and waking up to a compile-time error or non-booting kernel...

dahart

Spinning hard drives were soooo slow! Maybe very roughly an order of magnitude from SSDs and an order of magnitude from multi-core?

znpy

i think you nailed the centrail point.

rotational disks usually top up at ~85 MB/sec, with seek time being up to 12 msec for consumer drives and ~6 msec for enterprise drives (15k rpm).

ssd could saturate the sata bus and would top at 500-550 MB/sec, with essentially no seek time. latency wold be anything between 50 and 250 microseconds (depending on the operation).

nvme disks instead can sometimes full utilise a pci-e lane and reach multiple gigabytes/second in sequential read (ie: pci-e gen5 nvme disks can peak at 7 GB/sec) with latencies as low as 10–30 microseconds for reads and 20–100 microseconds for writes.

As compiling the kernel meant/means doing a lot of i/o on small files, you can see why disk access is a huge factor.

A friend of mine did work on LLVM for his PhD... The first thing he did when he got funding for his phd was getting a laptop with as much memory as possible (i think it was 64gb on a dell workstation, at the time) and mount his work directory in tmpfs.

JonChesterfield

I'd like to know why making debian packages containing the kernel now takes substantially longer than a clean build of the kernel. That seems deeply wrong and rather reduces the joy at finding the kernel builds so quickly.

kelnos

Are you building the Debian kernel with the same .config as when you build the kernel directly? If not, that's probably why. A Debian kernel build will build basically everything, mostly as modules. A kernel tailored for your specific hardware and needs will be much faster to build.

Also disabling building the _dbg package for the Debian build will significantly speed things up. Building that package takes a strangely long amount of time.

defanor

This compares a new desktop CPU to older laptop ones. There are much more complete benchmarks on more specialized websites [0, 1].

> If you can justify an AI coding subscription, you can justify buying the best tool for the job.

I personally can justify neither, but not seeing how one translates into another: is a faster CPU supposed to replace such a subscription? I thought those are more about large and closed models, and that GPUs would be more cost-effective as such a replacement anyway. And if it is not, it is quite a stretch to assume that all those who sufficiently benefit from a subscription would benefit at least as much from a faster CPU.

Besides, usually it is not simply "a faster CPU": sockets and chipsets keep changing, so that would also be a new motherboard, new CPU cooler, likely new memory, which is basically a new computer.

[0] https://www.cpubenchmark.net/

[1] https://www.tomshardware.com/pc-components/cpus

userbinator

I wish developers, and I'm saying this as one myself, were forced to work on a much slower machine, to flush out those who can't write efficient code. Software bloat has already gotten worse by at least an order of magnitude in the past decade.

avidiax

Yeah, I recognize this all too well. There is an implicit assumption that all hardware is top-tier, all phones are flagships, all mobile internet is 5G, everyone has regular access to free WiFi, etc.

Engineers and designers should compile on the latest hardware, but the execution environment should be capped at the 10th percentile compute and connectivity at least one rotating day per week.

Employees should be nudged to rotate between Android and IOS on a monthly or so basis. Gate all the corporate software and ideally some perks (e.g. discounted rides as a ride-share employee) so that you have to experience both platforms.

jacobgorm

If they get the latest hardware to build on the build itself will become slow too.

bfgeek

My biggest pet peeve is designers using high end apple displays.

You've average consumer is using a ultra cheap LCD panel that has no where near the contrast ratio that you are designing your mocks on, all of your subtle tints get saturated out.

This is similar to good audio engineers back in the day wiring up a dirt cheap car speaker to mix albums.

userbinator

Those displays also have a huge resolution and eye-blindingly bright contrast by default, which is also how you get UI elements which are excessively large, tons of wasted space padding, and insanely low contrast.

fleebee

> This is similar to good audio engineers back in the day wiring up a dirt cheap car speaker to mix albums.

Isn't that the opposite of what's happening?

I have decent audio equipment at home. I'd rather listen to releases that were mixed and mastered with professional grade gear.

Similarly, I'd like to get the most out of my high-end Apple display.

Optimizing your product for the lowest common denominator in music/image quality sounds like a terrible idea. The people with crappy gear probably don't care that much either way.

jmb99

Ideally, you do both. Optimize on crap hardware, tweak on nice hardware.

djmips

They shouldn't work on a slower machine - however they should test on a slower machine. Always.

legulere

Even better is to measure real performance at your customers.

djmips

Yes!

diggan

> were forced to work on a much slower machine

I feel like that's the wrong approach. Like saying a music producer to always work with horrible (think car or phone) speakers. True, you'll get a better mix and master if you test it on speakers you expect others to hear it through, but no one sane recommends you to default to use those for day-to-day work.

Same goes for programming, I'd lose my mind if everything was dog-slow, and I was forced to experience this just because someone thinks I'll make things faster for them if I'm forced to have a slower computer. Instead I'd just stop using my computer if the frustration ended up larger than the benefits and joy I get.

SoftTalker

Although, any good producer is going to listen to mixes in the car (and today, on a phone) to be sure they sound at least decent, since this is how many consumers listen to their music.

diggan

Yes, this is exactly my point :) Just like any good software developer who don't know exactly where their software will run, they test on the type of device that their users are likely to be running it with, or at least similar characteristics.

ofcrpls

The car test has been considered a standard by mixing engineers for the past 4 decades

fluoridation

That's actually a good analogy. Bad speakers aren't just slow good speakers. If you try to mix through a tinny phone speaker you'll have no idea what the track will sound like even through halfway acceptable speakers, because you can't hear half of the spectrum properly. Reference monitors are used to have a standard to aim for that will sound good on all but the shittiest sound systems.

Likewise, if you're developing an application where performance is important, setting a hardware target and doing performance testing on that hardware (even if it's different from the machines the developers are using) demonstrably produces good results. For one, it eliminates the "it runs well on my machine" line.

geocar

> can't write efficient code. Software bloat has already gotten worse by at least an order of magnitude in the past decade.

Efficiency is a good product goal: Benchmarks and targets for improvement are easy to establish and measure, they make users happy, thinking about how to make things faster is a good way to encourage people to read the code that's there, instead of just on new features (aka code that's not there yet)

However they don't sell very good: Your next customer is probably not going to be impressed your latest version is 20% faster than the last version they also didn't buy. This means that unless you have enough happy customers, you are going to have a hard time convincing yourself that I'm right, and you're going to continue to look for backhanded ways of making things better.

But reading code, and re-reading code is the only way you can really get it in your brain; it's the only way you can see better solutions than the compiler, and it's the only way you remember you have this useful library function you could reuse instead of writing more and more code; It's the only guaranteed way to stop software bloat, and giving your team the task of "making it better" is a great way to make sure they read it.

When you know what's there, your next feature will be smaller too. You might even get bonus features by making the change in the right place, instead of as close to the user as possible.

Management should be able to buy into that if you explain it to them, and if they can't, maybe you should look elsewhere...

> a much slower machine

Giving everyone laptops is also one of those things: They're slow even when they're expensive, and so developers are going to have to work hard to make things fast enough there, which means it'll probably be fine when they put it on the production servers.

I like having a big desktop[1] so my workstation can have lots of versions of my application running, which makes it a lot easier to determine which of my next ideas actually makes things better.

[1]: https://news.ycombinator.com/item?id=44501119

Using the best/fastest tools I can is what makes me faster, but my production hardware (i.e. the tin that runs my business) is low-spec because that's cheaper, and higher-spec doesn't have a measurable impact on revenue. But I measure this, and I make sure I'm always moving forward.

zh3

Develop on a fast machine, test and optimise on a slow one?

Lerc

Perhaps the better solution would be to have the fast machine but have a pseudo VM for just the software you are developing that uses up all of those extra resources with live analysis. The software runs like it is on a slower machine, but you could potentially gather plenty of info that would enable you to speed up the program for everyone.

guerrilla

Why complicated? Incentivize the shit out of it at the cultural level so they pressure their peers. This has gotten completely out of control.

jayd16

The beatings will continue until the code improves.

I get the sentiment but taken literally it's counter productive. If the business cares about perf, put it in the sprint planning. But they don't. You'll just be writing more features with more personal pain.

For what its worth, console gamedev has solved this. You test your game on the weakest console you're targeting. This usually shakes out as a stable perf floor for PC.

Daily Digest email

Get the top HN stories in your inbox every day.