DEV Community

Cover image for Laptop Performance Matters

Laptop Performance Matters

Matt Eland on February 11, 2020

The post Laptop Performance Matters appeared first on Kill All Defects. Let’s cut to the chase: the performance of developer machines matters a...
Collapse
 
khrome83 profile image
Zane Milakovic • Edited

Your article is really well written and you are spot on. I think for me this really depends on what you are doing.

About 8 years ago I could do this job with a MacBook Air. It was great, it had more than what I needed. The only thing I really wanted was a Retina display.

Now, I have a 13 inch MacBook Pro, the first with the touchbar and no escape key.

At 8 GB of RAM, double the MacBook Air, I am constantly maxing the RAM out.

The good news, I know what the problem is! It’s Chrome.

I am either opening 4GB or tabs in my browser. Or I have Figma or VSCode opened, both of which are electron apps.

Basically every app I use on my laptop today is just Chrome with a specific purpose. And those eat memory like nothing else.

So much so I am going to get 32GB, if not 64GB in my next machine.

So I feel this article could be less, why developers need good machines, and more, why does Chrome eat every resource on my machine, and why it has changed the developer landscape.

Collapse
 
rhymes profile image
rhymes

So I feel this article could be less, why developers need good machines, and more, why does Chrome eat every resource on my machine, and why it has changed the developer landscape.

Ahah so true 😂

Collapse
 
integerman profile image
Matt Eland

I picked a few straw men culprits for the sake of getting a point across: Chrome and build times. For me the issue is actually Visual Studio with ReSharper, but that's less generally applicable.

Typically, developers are going to find ways to push their machines to the limits.

Thread Thread
 
khrome83 profile image
Zane Milakovic

100% I agree, I just know that for my job it’s much worse today due to the tools and processes to do the same job I use to do. Yeah it’s more complicated, but is it better? IDK.

Collapse
 
fyodorio profile image
Fyodor • Edited

I feel your pain 😔 almost the same story's here. Thinking about MacBook Pro with 32 GB (I would choose some Linux machine, but I need to build XCode apps regularly)
Browsers and npm are evil, especially when you have to work on an application with huge codebase...

Collapse
 
p4lm profile image
Henrik Sommerfeld

This is something that has always surprised me, that many companies don't understand that developers need good laptops and that good laptops cost money.

At my previous employer, the budget for laptops was roughly 1/14 of the amount of money I was billing our client each month as a consultant. That craptop was planned to last three years before I could get a new one. Of course it was the same budget for all employees, regardless of role. This doesn't make sense to me, especially as a good laptop can contribute to employee satisfaction for devs.

And then Windows. It might be fast on your personal machine at home, but being part of a corporate domain, it's doomed. Some organisations have probably solved this, but I have yet to experience that. CPU usage is strong and I can hear the fan, even though I'm not really doing anything. And no, WSL 2 isn't available on Windows 10 Enterprise Edition on the several-years-behind ring.

At lest we're having a constructive discussion about this at my current work 💪

Collapse
 
jamesdengel profile image
James dengel

You have hit the nail on the head with record it, you need metrics and real substance to change financial number and to influence and convince others especially financial types.

Just look at dual monitors, when i started most developers had single screens at the company that I worked for, now every one has two.

Queue the research:

business.com/articles/increasing-p...
The paper is linked in the article but the same applies to development work.

Collapse
 
metalmikester profile image
Michel Renaud

True.

Funny thing is that it's only several minutes after reading the article that I realized that my work laptop doesn't matter much. My development machine is actually an Azure VM running in a data centre nearly 500 Km away. "Oh no! That's crazy!" Well, it's actually a better experience than the desktop tower I used to use for development. Our laptops are really just for connecting to VMs and for corporate email (not accessible through the VMs).

The same problem persists, however: There is a cost associated with running those VMs so, for example, we cannot pick VMs that run on SSDs. Just hard disk ones. The default recommendation is something like 7 GB RAM, though we can pick 16 GB if we need it (like me). You'd need to spend time making your case to get anything fancier. But, as I mentioned above, this is waaayyyy better than it used to be for us.

Collapse
 
eddyvinck profile image
Eddy Vinck • Edited

Yeah, these are tickets I’m looking into, the time tracking application, my E-Mail, my calendar, search results on technical problems, documentation on methods I’m working with…

As a frontend developer you can add the the Figma design including desktop and mobile demo from the design.

Occasionally you also need to run BrowserStack to test your app on multiple native devices.

Besides the browser, let's not forget the unit tests that are running in Node while solving the problem, Node for the client, Node for the server. VSCode performs pretty well, but it still takes a few resources.

Oh, and of course you need to run Spotify to drown out all the noise from the open office space.

Chances are you are also expected to keep your Slack client open most of the time if not all the time.

16GB RAM is my minimum for a dev laptop, but of course the CPU needs to be decent as well. If you're doing machine learning, which I'm not, you also need a good GPU or a dedicated PC.

Collapse
 
moopet profile image
Ben Sinclair

I don't have a coherent response, but I do have a whole bunch of comments!

I think that way more often than it being the machine's fault, it's the fault of the build systems or bloated software used.

I spend more of my time waiting around for remote builds for demo or production environments than I do my local ones, and I can generally continue working while kicking off a build.

I appreciate that not all developers have the same chores - most of my work doesn't require a recompilation step, because I don't work with those sort of languages very often and I don't need to import half a gig of dependencies to run a hello-world app. I change something in-place and see what it does, or I run my module in isolation.

I know you titled this "laptop performance matters" but I generally offload the processing to whatever machine I have around that's fastest, and sometimes that's a desktop. Desktops will always perform better than laptops with the same numbers.

There are other blockers, such as using Docker on a Mac with mounted file systems. That still makes things one or two orders of magnitude slower than running them natively or on Linux.

Having to deal with awkward window management, clumsy key bindings, not-very-ergonomic input devices, monitors with crappy colour profiles, that sort of thing makes everything feel a bit like a grind, and it makes you want to "upgrade your machine".

I waste more time during the day context-switching between real keyboard layouts and Apple's halfway-between-ISO-and-ANSI thing. I close windows when I expect to delete a word. That sort of thing. I'm faster in the office because I have one keyboard that I share between two machines, and I don't accidentally my work.

I guess what I'm saying is that it's my overall experience that's the problem, not the computer.

Collapse
 
elmuerte profile image
Michiel Hendriks

That's why I use desktops for serious work. My 4 year old desktop at work was cheaper than a powerful laptop back then, and still outperforms modern thin laptops.

Collapse
 
sanidz profile image
sanidz

p53 with xeon cpu and 128gb of ram is still modern thin laptop :D
Jests aside, PCs are just much better for serious work because they dont have thermal or power throtling.

Suitable dev machine is workstation laptop that has quadcore cpu with at least 16gigs of ram or at least posibility to upgrade it in the future. I mean, we live in the times when even smartphones have 12GB of ram.
And Chrome with opened dev tools is eating few gigs just for apetizers.

Collapse
 
elmuerte profile image
Michiel Hendriks

And we live in times where developers no longer really care about being conservative of RAM and CPU because systems have plenty anyway :/

I still don't understand why people use the Slack client rather than just having a tab open in the browser.

Thread Thread
 
sanidz profile image
sanidz • Edited

Absolutely agree but why would they? Ram is cheap.

Slack notifications in browser are not that reliable as in desktop client.

Thread Thread
 
elmuerte profile image
Michiel Hendriks

RAM isn't cheap when you need to keep adding it because you want to run more than 4 processes on your system.

I don't use any kind of notifications except for confirmed meetings. I've got work to do and that works better without things screaming for attention :p

Collapse
 
xanderyzwich profile image
Corey McCarty

FYI if you are using canonical links then you don't need to specifically mention other source.

see here the doubled info

Collapse
 
integerman profile image
Matt Eland

Feel free to put in a feature request. That's auto-generated content from the RSS import feature of dev.to.

Collapse
 
xanderyzwich profile image
Corey McCarty

The top one is, but the bottom one should be brought in from your content.