Which part is slow? I’m guessing it’s the statistical analysis which is slow? None of those other things on your list should take excessive CPU power. What programming language/environment/libraries are you using for your statistical analysis, and what type of analysis, specifically? Are you running code multithreaded? On the GPU? Are you I/O bound? Memory bound? How optimized are your programs? ...
Getting a machine with more RAM could help a lot. My 13" “retina” Mac laptop has 16 GB of memory, and the last time I had <8GB was 7 years ago. I would find it very constricting to use a machine with 4 GB today. You could probably get a big boost with your current machine just by buying 8 GB of third-party memory.
For statistical analysis, I use SPSS (Java) and R. Both are CPU and I/O bound. SPSS especially is painstakingly slow. It has always been slow, but this is a new type of slow. Then I use homebrew and I have a lot of packages I compile myself, so raw CPU power would be nice to do it more quickly. I always do a huge load of multitasking. When I'm REALLY working, I usually have open: terminal + tmux + vim + python shell + Rstudio + spss + word + excel + keynote + texshop + illustrator / affinity designer + spotify + safari and some other apps on the side. And yes, my memory is almost always full I guess, judging from Activity Monitor. Oh, important: I also do virtualization to test what I develop on different distros and different environments.
My MacBook Pro feels especially slow while handling files, like downloading, or opening multiple files. It could be the wear and tear on the SSD. But it feels like it cannot handle all that multitasking anymore. It doesn't feel snappy. I literally have to sit and wait here and there on things like opening a Finder window, waiting for Terminal to open, etc. The small things that get annoying really quickly.
So my question is, what is best for coding?
In my opinion, the best on the market for “coding” generically, if you’re sitting at a desk, is a 27" iMac, even if you want to run Linux on it. As far as I can tell the hardware is better priced than a similarly specced machine + display from any other vendor [cheapest configured 27" iMac is $1800, a similar display from Dell is $1600 by itself (current Amazon price), before adding a computer]. Lots of display space to fit a decent number of editor windows and browser windows (you said webdev, so I assume you need to test everything in multiple browsers). For me, the nice display is worth a lot more w/r/t programmer productivity than some extra CPU cores. CPU and GPU performance on typical tasks is great, a big step up from your 2010 laptop.
Although I do admire the iMac, I think it is still really pricey for what is basically a laptop with a great display slapped on top of it. Also, the iMac's I have hadd ALWAYS failed on me, so I am a bit hesitant to buy an iMac. But is sure is attractive. Btw, I already have a great display hooked up to my MBP: Dell U2713HM.
[/quote]
[The Mac Pro is a very specific niche machine (which is additionally a few years out of date because Intel’s schedule has slipped in the past few years and we’re just finally getting the CPUs, displays, new USB/Thunderbolt ports, etc. which would call for it to be refreshed), not a general-purpose consumer workstation. It’s great for people with specific GPU or heavily parallelized CPU workloads, or folks who need to have maximum I/O. A smaller and smaller set of use cases aren’t handled by consumer hardware, and it sounds like yours aren’t among those. It’s not surprising that the Mac Pro doesn’t meet your needs.]
Yeah, I adore the Mac Pro. But I think it is very expensive. I know, if you would have to buy the spare parts yourself and build a machine with similar specs it is perhaps even more expensive and you're missing out on the form factor and the unique cooling. But still, I don't need 2 of those sick graphics card that can still not be easily used for raw computing power without special software.
If you ever need to run a bigger workload than your machine can manage locally, rent some time on a remote Linux server somewhere.
Yeah, I do have a server on the side with 16GB of ram. But I use that server for virtualization, mostly.
But you haven’t really given a full accounting of your criteria. Do you need to work out of a coffeeshop or on the couch sometimes? etc.
I use my MBP everywhere I can take it: at the couch, in bed, and I take it back and forth from and to the office daily. And when visiting clients. For mobile, I will not easily give up Apple. I really find PC laptops complete cr*p. But for the desktop, I could do my own build.
What text editor do you use? What’s your toolset for writing papers (LaTeX? MS Word? InDesign? Do you ever need to make diagrams?)? Are you a grad student? Assistant professor? Professional software engineer? What’s your computer budget? ...
Vim whenever possible. MS Word for academic papers (as a social scientist, all journals still demand MS Word and my colleagues exclusively use Word). For LaTeX I use texshop and/or vim. RStudio. Diagrams I usually make in Affinity Designer or Illustrator. I am a PhD Candidate AND a freelance consultant focusing on development of tailor-made scientific software and corporate I-O consultancy.
Just out of curiosity, what sort of systems programming?
I develop a lot of tool to read in and transform data, do calculations on it, and spit it out again. I also make a lot of tools for survey research: engines, report generators, automatic statistics analysis once a participant filled out a questionnaire. That sort of thing. And algorithms to predict behavior. Mostly statistics and academic software.