Notebook for PHPStorm
已回答
I am currently trying to formulate some criterias for a notebook I am going to purchase. It will be used mainly for coding with PHPStorm under Vagrant virtualization throught VirtualBox on Windows.
The questions is, what parts of the configuration are significant? No doubt SSD - that will speed up everything. Memory should be enough about 8 gigs.
But what about the CPU? How much does PHPStorm benefit from multiple cores, especially when running a lot of inspections? Should i look for less cores but higher clock rate? Or 4 cores will make a difference over 2?
There is also the question of hardware virtualization support from the CPU since i'm using Vagrant a lot.
Any suggestions are much appreciated!
请先登录再写评论。
Hi,
Hard drive is the most significant part, affecting the indexing and overall performance, RAM can help with large projects and CPU can save some time on various tasks. But in general it really depends on what kind of projects you are working with: how big they are, how complex they are.
For example, some legacy project with lots of huge complex files (several thousand lines, mix of PHP/HTML/JS/CSS) will require a lot of power due to overall complexity and bad health of the codebase. On the other side, well-refactored project with either one language you write in or several but everything is tidily split between separate files might be good with default limits.
Personally I worked with lots of various projects just fine using my laptop with Intel Core i5-2520M (which is dual-core CPU w/Hyper-Threading from Feb 2011) and 8 GB of RAM but - again - it really depends on how large is the project and what parts you develop exactly, how many virtual machines you need to run at once and so on. Almost all if not all modern CPUs support h/w virtualization so that should not be a question.
SSD is definitely the most advised part - IOPS and file system latency are both very crucial parameters for a good IDE experience, that's why solid state drives are recommended and working with remote files directly over shared folders is not a supported scenario wherever that share is located. Good modern HDD should also work well but SSD is simply faster and more reliable.
Also it's good to know that all benefits that Java has from hardware, PhpStorm will have too (including multi-core scenarios). So we usually recommend any modern CPU (5-6 years and newer) and an SSD drive. Amount of RAM is a tricky question (again - depends on projects) but I'd say 8 GB will cover most of your everyday scenarios.
Hello! Thank you very much for such a thorough answer! It gives a really deep insight into the question.
I'm usually running just one VM at once and the vagrant shared folder contains about 4000-5000 files, including the vendor folder. Files usually don't grow beyond a few hundred lines. Besides of that i run Node.js for simple front-end compilation tasks.
Am I understanding you correctly, that PHPStorm itself is well optimized for multithreading and benefits from having multiple CPU cores?
My main concern is the performance of the inspections, because i run a lot of them (code style, mess detectors, almost all of PHPStorm native inspections for PHP), and it gets real clumsy on one of my older machines.
Hi there,
I believe any modern Core i5 CPU will do -- they are good even for games (as long as it's not targeted at low power consuming devices of course -- maybe look at exact CPU models of what gaming grade notebooks usually have) -- I see no huge benefits to go for Core i7 for PHP/JS devs (unless you are happy to pay more).
SSD is a must these days -- it makes big difference in how the responsive whole system is (loading times etc) -- after trying it you do not want to go back to HDD-only system, especially if you need to run some rather heavy stuff.
8GB should be enough as long as you will not run GUI apps in your VMs or do not open many memory-hungry apps (e.g. Photoshop that works with few big & complex files; Chrome that has tens of tabs opened .. or just a few that eat 500MB each etc). But when buying -- definitely ensure that your system can support 16GB if needed (e.g. future upgrade).
TBH: the memory consumption you can see on your current PC -- if your current 8GB is enough for you then it should be fine on your new notebook as well.
I actually work on desktop PC (built from parts):