Jump to content

Processing Power Recommended for Programming

Hello there, folks.

 

So, here's a question I waited long enough to post here:

 

How much Computing Power is really necessary for Web Development? (JS, CSS, HTML, BOOTSTRAP)

 

But wait, there's more:

 

And how about backend stuff (like managing servers, dealing with databases etc)? (JAVA and C# mostly)

 

I know gaming and game development need beastly machines, but how about the other things?

 

Cause if you look into the interwebz people will recommend i9 with titan z and 128 gigs of ram, but dude... that can't be truth... can it?

 

How much cpu do we really need to the day to day web development?

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Den15 said:

How much cpu do we really need to the day to day web development?

a Core i5 8400 / Ryzen 5 2400G

Personal Desktop":

CPU: Intel Core i7 10700K @5ghz |~| Cooling: bq! Dark Rock Pro 4 |~| MOBO: Gigabyte Z490UD ATX|~| RAM: 16gb DDR4 3333mhzCL16 G.Skill Trident Z |~| GPU: RX 6900XT Sapphire Nitro+ |~| PSU: Corsair TX650M 80Plus Gold |~| Boot:  SSD WD Green M.2 2280 240GB |~| Storage: 1x3TB HDD 7200rpm Seagate Barracuda + SanDisk Ultra 3D 1TB |~| Case: Fractal Design Meshify C Mini |~| Display: Toshiba UL7A 4K/60hz |~| OS: Windows 10 Pro.

Luna, the temporary Desktop:

CPU: AMD R9 7950XT  |~| Cooling: bq! Dark Rock 4 Pro |~| MOBO: Gigabyte Aorus Master |~| RAM: 32G Kingston HyperX |~| GPU: AMD Radeon RX 7900XTX (Reference) |~| PSU: Corsair HX1000 80+ Platinum |~| Windows Boot Drive: 2x 512GB (1TB total) Plextor SATA SSD (RAID0 volume) |~| Linux Boot Drive: 500GB Kingston A2000 |~| Storage: 4TB WD Black HDD |~| Case: Cooler Master Silencio S600 |~| Display 1 (leftmost): Eizo (unknown model) 1920x1080 IPS @ 60Hz|~| Display 2 (center): BenQ ZOWIE XL2540 1920x1080 TN @ 240Hz |~| Display 3 (rightmost): Wacom Cintiq Pro 24 3840x2160 IPS @ 60Hz 10-bit |~| OS: Windows 10 Pro (games / art) + Linux (distro: NixOS; programming and daily driver)
Link to comment
Share on other sites

Link to post
Share on other sites

Not much, but I can say that CPUs with higher clock speeds are nice and it's definitely handy to grab windows 10 pro, the clockspeed is because many compilers for web development only use one thread if you're only compiling one final js file. Windows 10 pro is for when you want to do virtualization with hyper-v and testing out docker images on your computer (the version for windows 10 home is awful :()
You should be fine with an cpu equal to or better than the i5-8250u. I'd get 16gb of ram for virtual machines and chrome tabs :)

That is if you're shopping for a laptop, if you're shopping for a desktop, I'd get either the i3-9300 or the i5-9500 (i7's will be slightly better but not by a lot, perf/$ falls of a cliff at that point for web development)

Link to comment
Share on other sites

Link to post
Share on other sites

For server, it completely depends on what your doing, how many people will be using it etc, and will likely involve you testing several different platforms to see which one is the most efficient.  It also depends on how you intend to scale it as your platform grows. 

 

For general web development, generally yeah having more cores the better, but you also want to minimize any loss in single core performance.  For many years, quad cores were the highest you could get in laptops, which looked nice at first, but if you look close at the specs, most of them had a base clock of around 2GHz (unless you wanted to shell out for top end systems) and frankly they could just be unbearably slow.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Unless you are running some truly beastly code (which it doesn’t sound like you are) then even a dual core i3 with 4gb RAM would probably serve your purposes. I don’t recommend it but coding itself takes almost no power.

 

Are you writing console programs or something with a basic GUI?

 

If you want to be more secure about it then get a quad core i5 with at least 8gb RAM. If you want everything about the system to run snappy all the time then get an i7 with 16gb RAM. That would also allow you to game if you got a decent GPU.

 

I always favor more power. Even if your programs run low amounts of resources, there is a scenario, even in small programs, that it has saved me a few times. If you accidentally code an infinite loop or have a program that passes bad instructions, you can crash the computer. With more resources you are much more likely to have the time to kill the program rather than freeze or get a BSOD and be forced to restart. Having more resources actually gives you more time, usually on the RAM side. On the occasion that more resources are needed, you’ll also be better off for the future and using your computer for other stuff.

Link to comment
Share on other sites

Link to post
Share on other sites

36 minutes ago, Den15 said:

And how about backend stuff (like managing servers, dealing with databases etc)? (JAVA and C# mostly)

Backend stuff (e.g. in C) would run on 30-year-old machines.

Java and C# are slow, CPU-heating bloatware even on one-year-old machines.

 

If you care about resource usage (good!), choose your poison wisely.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, homeap5 said:

Use Celeron. Then other users will be happy that your programs work fast. :)

I kinda liked this way of thinking... ... ...

 

The pages will be seen most by mobile, probably, so... yeah.... makes sense

 

@mikat I've switched to linux recently... not thinking about going back actually

 

@dDave64 still not running beast codes... at least for now... can't guarantee about the future, and gaming is not on my list, at least not anymore

 

@Dat Guy I'll take your advice in consideration... will be looking at C with more love

 

Java is so freakin' heavy... all for portability I guess

 

I guess people who will access the pages will rarely have as much horsepower as the "one percent", and given the two most common display sizes for 2019 (360*640 and 1366*768)... not many will be seeing the content on a full hd panel... to be honest with you I have barely seen anything above full hd being sold in my country (the huehuehueh lands)...

 

But it's still a valid question to me and you guys are helping, thank you. Let the discussion continue then.

 

moar opinions my brothers11!!1

 

Link to comment
Share on other sites

Link to post
Share on other sites

It seems to me that on a small scale, such as hosting your own server, your internet connection speed is going to be your biggest bottleneck for a long time.

Another consideration in web development is that there are usually a lot of hard drive accesses, unless you have an insane amount of RAM. Hard Drive/SSD accesses are extremely slow, so minimizing that will have the greatest impact.

There is a reason that webservers are made out of highly parallel but relatively slow processors coupled with absolutely insane amounts of RAM: Raw compute performance isn't usually necessary for most websites. What is necessary is a quick reaction time to requests and the ability to handle a large amount of simultaneous requests. That means optimizing databases and sacrificing compute performance for parallelism and fast data access.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Den15 said:

Java is so freakin' heavy... all for portability I guess

C is perfectly portable to more platforms than Java will ever be.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

@Den15 Nice, Linux is great, you don't have to worry about getting the crappy version of docker then :D

As for monitors I'd not recommend anything under 1440p, 1080p is really limiting from my experience (laptop for school) and it's always a relief coming home to 2x4k monitors

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, mikat said:

ou have to make a seperate binary for every architecture :) 

Life is easier in 2019 as most operating systems - except Windows and RISC OS - come with a C compiler and linker by default, so you only need to distribute a Makefile. :)

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

You could work on an older device easily, I work on a laptop with  i5-6300U, don't really feel I need something faster. The biggest performance boost I've ever gotten was switching to a device that had the almighty SSD.

 

That's pretty much it for web development. It's another question when there are giant projects, with many files that need be compiled. I've encountered this when I needed to work on OpenCV, tweaking settings and recompiling. Compilers are single threaded, but multiple processes can be started to compile in parallel. Then you need many many cores if you want that to be fast. That's why Wendell on Level1 tests Threadripper in a Linux kernel compile speed test.

 

For hosting there are web applications that need a lot of processing power, but generally they're not basic web applications. Usually that's something completely different and custom, and you still probably don't need a beastly PC to work on those. The areas that need beastly PC's quite obvious usually, like game development, as mentioned. Machine learning could be another, but even that can be done on an old machine, with larger scale testing just being done on servers.

Link to comment
Share on other sites

Link to post
Share on other sites

@DevBlox I've switched from a 5.400 rpm hdd to a SSD very recently and almost shed tears of joy on booting up my linux haha

 

I thought an i3 mobile could do the job, but I'm guessing I'm probably wrong.

 

What defines performance on a cpu? Is it clock? What is it?

Link to comment
Share on other sites

Link to post
Share on other sites

It is also worth considering your IDE. VSCode's python intellisense for example absolutely eats RAM, it is a auto complete option that stores all the libraries in memory and (apparently) uses AI to predict what the next function you want is...

 

Then again you can write your code in notepad/vi/emacs and use basically no RAM...

 

 

Personally I have a 6th gen i7 and 24GB RAM and find this very useful for running VMs so that I can program on the same OS as the code is going to be deployed to. But I think you could certainly get away with less, especially with smaller projects.

Link to comment
Share on other sites

Link to post
Share on other sites

I am using one of my old I7-940 as a test web server.

quad code down clocked to 2.6 ghz

6 gb ram DDR3 800mhz

360 gb HDD caviar blue drive 7,200 rpm

300 gb HDD Velociraptor 10,000 rpm

Nvidia 570 GTX

 

It run on Windows 7 64 bits, has IIS, Nginx, Apache2, Microsoft SQL Server 2008, MySql, WebFTP and it Stream my music from external hdd.

 

Sometime use it to compile very large C++ codebase or test DirectX / OpenGL / Vulkan stuff.

 

Was my main home dev desktop computer 2 generations ago.

 

You don't need much as you can see.

Link to comment
Share on other sites

Link to post
Share on other sites

Front end can be developed on anything that can access the web reasonably. It’s mostly text editing with HTML & CSS

JavaScript is a little more “intense” but emphasis on the little. 

Any modern i3 desktop processor should be overkill for everything you want to do that you listed. 

You won’t be able to host servers but for school work & practice, you’ll be fine. Anything better than that just makes things easier for you. 

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, Den15 said:

What defines performance on a cpu? Is it clock? What is it?

There isn't one thing really. CPU's are mostly made to be well rounded for a given price point. Better to look per generation. Even an i3 would stick just for development. If you have a choice between a better CPU and more RAM - get more RAM. I have 8GB and it's not enough for me. Instead of buying a new laptop I'll just upgrade to 32GB RAM, because I have (as most developers really) many resources/tabs open when developing, and when my PC starts swapping, it kills performance way more than a weaker CPU would.

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/25/2019 at 9:53 PM, mikat said:

As for monitors I'd not recommend anything under 1440p, 1080p is really limiting from my experience (laptop for school) and it's always a relief coming home to 2x4k monitors

For Coding nobody will ever need a high resolution monitor.

If you can read text on your monitor the resolution is good enough - the first monitor i used for coding was 640×400?

 

And the most performance is needed to run your IDE. I've seen web developers still working on a mid 2013 macbook air.

There's really no point using high end hardware if last gen hardware is more than good enogh.

For local testing you may need better hardware but if you're just starting out I wouldn't recommend spending much money on hardware.

Link to comment
Share on other sites

Link to post
Share on other sites

18 hours ago, v0nN3umann said:

For Coding nobody will ever need a high resolution monitor.

If you can read text on your monitor the resolution is good enough - the first monitor i used for coding was 640×400?

 

And the most performance is needed to run your IDE. I've seen web developers still working on a mid 2013 macbook air.

There's really no point using high end hardware if last gen hardware is more than good enogh.

For local testing you may need better hardware but if you're just starting out I wouldn't recommend spending much money on hardware.

Well, yes, you don't need a good monitor, but that sure as hell is nice. I personally love screen real-estate and crisp text, can get around bigger IDE's without constantly pushing things around to see the widget or screen I need. When I had a small screen I just got some vi plugins and worked on that, but eventually I needed more features on bigger projects. I'll get around to a 21:9 someday, code on one side, library reference on another, perfect.

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/25/2019 at 4:59 PM, Den15 said:

How much Computing Power is really necessary for Web Development? (JS, CSS, HTML, BOOTSTRAP)

You can do that on a fresh potato.

On 4/25/2019 at 4:59 PM, Den15 said:

And how about backend stuff (like managing servers, dealing with databases etc)? (JAVA and C# mostly)

It depends on the specifics but really any desktop cpu from the last 10 years should do the job.

On 4/27/2019 at 9:39 AM, v0nN3umann said:

And the most performance is needed to run your IDE.

Dude, get on the Vim hype train :P

On 4/26/2019 at 1:57 PM, Den15 said:

I thought an i3 mobile could do the job, but I'm guessing I'm probably wrong.

It's absolutely enough, it may feel a little sluggish if it's a first gen i3 but you can definitely get some development done. I would advise getting 8gb of ram if possible but if you can't you can make do with a swap partition.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Dat Guy said:

Vim is bloatware. Try ed.

Real programmers use cat.

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×