Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

link9977

macrumors newbie
Original poster
Jun 17, 2020
3
1
I’m a full-stack developer and now I’m using MacBook Pro 13 inch 2017 and iMac 5k base 2017 and it’s getting slower than my needs. I’m looking for a new laptop which can suit my job perfectly. I usually use Visual Studio Code for coding and sometimes use Final Cut Pro for editing 4k about 10 mins (mostly working on full HD 1080p 60fps about an hour) and using Xcode and Android Studio to build a mobile application as well. I’ve been thinking about the specification for a while. I’ve got 2 choices in my mind.

Option 1:
Choose base model i7 and upgrade ram to 32gb.

Option 2:
Go for base i9 without upgrading anything.

Could you guys suggest me which one should I get?
 
So these are the 16" MacBook Pros we're talking about I'm assuming?

Well, honestly you know your needs better than I do. You know how much RAM you're using. You know how well your projects scale across cores. I think you'd probably do better with the i7 and more RAM, but I don't know how much RAM you're using.

How a codebase taxes a system varies a lot. For example, compiling something as huge as the Linux kernel is typically I/O limited. Compiling projects the size I typically work on is also often I/O limited but for a different reason. In the case of the Linux kernel it's because there are so many parts to it and the linker needs to traverse it all for each missing entry; Though a lot of RAM can also help that along by allowing a hash map to be created traversing the file tree just once. In my projects its because compiling is so fast that loading the files into RAM takes longer than compiling them.
Running tests can often be CPU limited and can also often be parallelised to multiple threads, but for tasks that run on iOS those tests will run in Simulator which can also eat up a lot of memory especially when parallelising testing.

At the end of the day; Measure why your current workflow feels slow and focus on the biggest bottleneck in that.
With your iMac RAM is user upgradable as well, so if you are memory limited there's an easy upgrade path for your desktop there.


Completely off topic though;
If you know the software architect Kevlin Henney, he often argues that there is really no such thing as a "fun stack developer". It's a myth. Most often it means you do front end and backend, but do you do firmware? Drivers? Networking protocols and operating systems? The stack goes deep
 
  • Like
Reactions: maerz001
So these are the 16" MacBook Pros we're talking about I'm assuming?

Well, honestly you know your needs better than I do. You know how much RAM you're using. You know how well your projects scale across cores. I think you'd probably do better with the i7 and more RAM, but I don't know how much RAM you're using.

How a codebase taxes a system varies a lot. For example, compiling something as huge as the Linux kernel is typically I/O limited. Compiling projects the size I typically work on is also often I/O limited but for a different reason. In the case of the Linux kernel it's because there are so many parts to it and the linker needs to traverse it all for each missing entry; Though a lot of RAM can also help that along by allowing a hash map to be created traversing the file tree just once. In my projects its because compiling is so fast that loading the files into RAM takes longer than compiling them.
Running tests can often be CPU limited and can also often be parallelised to multiple threads, but for tasks that run on iOS those tests will run in Simulator which can also eat up a lot of memory especially when parallelising testing.

At the end of the day; Measure why your current workflow feels slow and focus on the biggest bottleneck in that.
With your iMac RAM is user upgradable as well, so if you are memory limited there's an easy upgrade path for your desktop there.


Completely off topic though;
If you know the software architect Kevlin Henney, he often argues that there is really no such thing as a "fun stack developer". It's a myth. Most often it means you do front end and backend, but do you do firmware? Drivers? Networking protocols and operating systems? The stack goes deep

casperes1996, thanks a million for your kindly reply.
 
  • Like
Reactions: casperes1996
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.