Computer build for programming work

EvilMegaDroid

Commendable
May 2, 2016
19
0
1,510
I'm looking to a build a computer in the price range of 600-800$.
What I'm looking for is strong single core performance with 4+ cores. It should leave way for uprade. Would like to have a m.2 slot if possible with this budget. Can reuse a gt 730 since i don't care about games, later would probably get a gtx 750ti from ebay used. I already have a 1tb hdd, and a ssd and 2 22inch monitors. Minimum 16gb ram. I would also like it to have driver support for linux if possible.

Thanks
 
Solution
I use vim throughout the day (seems you're running Linux or one of the *NIX clones). If you're building kernels, then more cores matters more than individual core speed. Any database (if actually being hit for lots of traffic...a dev workstation doesn't normally hit that much traffic) needs lots of cores and memory, though individual core speed also matters (imagine creating a lot of indices...hash sums require a single core and don't distribute across cores, but not all operations create a hash sum). You're going to have a hard time with high core count combined with good core speed and low cost. FYI, if you are not seeing serious traffic from multiple users (if it is just a workstation for you), then even four cores would be...


The software I use is called vim, its a single core cli software. I work with mysql, databases things, i/o tasks and some work for web apps like websites and server side things.
 
1- Be sure to get a good VM machine set over windows
2- Get the linux distro version set for your software, This will eliminate the download and the adding of RPM over RPM.
3- Get a lot of ram if you can afford 64 gig not memory for ocing plain memory but a lot,
4- Did i say get lot of ram .. ho yes, this way if you need to used two software on two Vr machine for work validation you will have enough of everything.
5- 1 ssd 500-800 gig only for the VR and linux. If you can afford a new model go for an old one it will be fast enough for what you do.
6- if you can afford, get the CPu with the highest number of core to assign at least 2 core by VR.. Your main application could used only one core but everything else on that VR will used the other core or more.

I have almost the same setting
sdd 1tb,64 gig of ram DDR3 1066 (standad one, no oc's), amd 12 core, or intel 8 core old version

I can run Talend,and lot of stuff and one Vr
In an other vr one Big data enviroment
One Oracle DB 12.c
and sometime on SQL server for specifics contract.

Let me know what you will have and how your setting work.
 
I use vim throughout the day (seems you're running Linux or one of the *NIX clones). If you're building kernels, then more cores matters more than individual core speed. Any database (if actually being hit for lots of traffic...a dev workstation doesn't normally hit that much traffic) needs lots of cores and memory, though individual core speed also matters (imagine creating a lot of indices...hash sums require a single core and don't distribute across cores, but not all operations create a hash sum). You're going to have a hard time with high core count combined with good core speed and low cost. FYI, if you are not seeing serious traffic from multiple users (if it is just a workstation for you), then even four cores would be good (though it certainly wouldn't hurt to have 8).

As soon as you add in a web server the need for more cores goes up, but probably all of them will bottleneck on hard drive access (single user testing is seldom an issue with four cores...hard drive speed is always an issue). Consider a separate (and slower/lower cost) ordinary hard drive for (a) web content, (b) SQL content, (c) primary o/s. Hard drive I/O is going to hurt far more for those cases more than slow CPU core speed or core count. You'll find hard drives limiting speed even on a single user workstation. Having a separate drive for database and http will go a long ways towards having a responsive system even if the drives are mediocre.

Quite often hard drive speed matters more for a database then individual core speed, but it depends on whether you are creating an index or just reading something already indexed. Having a lot of fast m.2 space for any database would be good, but if you plan to do this with the budget you mention, then it isn't going to happen (it's ok to have the m.2 slot for future use, but I'd expect to not have any fast drive for that total system price).

You really need to say more about what you might compile, and what kind of test case or stress testing you might do for a database or web server (e.g., 10 people hitting it, or just you).

FYI, when Linux reads the file system, and when you have lots of RAM, it tends to use the spare RAM to buffer. Subsequent access speed reading that same content gets faster until something else gets use of the buffered/cached content. If you run "xosview" and enlarge the window, take a look at the "MEM" content and how it is subdivided into different use. Now run something which will read (but not write) the disk just to see how cache and/or buffer goes up:
sudo time find / 2>/dev/null 1>/dev/null

Here's one I did:
Fedora 27
root /# time find / 2>/dev/null 1>/dev/null

real 4m22.597s
user 0m4.958s
sys 0m19.778s
root /# time find / 2>/dev/null 1>/dev/null

real 0m8.061s
user 0m2.420s
sys 0m5.516s

If you have freshly booted and have not read this content before, then you can expect the time required to read this the second time will go down (provided you didn't do something requiring giving up the cache/buffer used). So lots of RAM can also be good for performance in disk access even if you don't have applications specifically using all of that RAM. I suspect 16GB is a good amount for a lot of purposes.

Consider:

  • ■ 6 cheaper AMD cores (best bang for the buck and 6 cores goes a long way for developers).
    ■ 16GB RAM.
    ■ Three cheaper ordinary drives mounting on "/", "/var/www/", and wherever your SQL is at.

FYI, I use exclusively NVIDIA video cards, but you have to use the NVIDIA driver most of the time due to what I consider poor quality with the Nouveau driver. Other than that it is likely you wouldn't need any special driver.
 
Solution
omg... vim, please god, no. however, it was the only editor i could use to view gargantuan multi TB files from mainframe back in the day, I used gvim in windows.

look I would recommend an 8 core proc, like the Ryzen 2700x, you don't need a Threadripper unless you REALLY want to rip through builds, lol, but you don't need it. Get 16 GB of fast, dual channel DDR4, 32 GB is better, but 16 is more than enough for a build machine.

Get M.2 NVMe SSD if you can for boot drive, or a good SATA SSD for installing Windows and Compilers and stuff like Visual Studio whatever and all your dev software dependencies you might need for your dev.

just get a descent video card for it, not a gaming card either, unless you do video editing then go whole hog.

put Win 10 Pro on it.
 


Sure...that's definitely a better system. However, did you see his price range for the whole machine? $600-800. I don't know if he needs windows at all if he's working on Linux. He can always dual boot if a system comes with that, but there's no way he's going to be able to afford 16GB of RAM if he gets too many cores or any faster hard drives (16GB of RAM is probably more important than a couple more cores if he already has 6 cores). On a completely custom system windows itself will also be a significant cost. Three regular hard drives would cost less, and then there would be no competition between httpd and MySQL. It would be a very responsive machine.