Hacker News new | ask | show | jobs
by kaosjester 3330 days ago
This article reads like a rewrite of the wiki over at /r/buildapc, and I'm not sure I see how much of it leads to his conclusion---any modern, $1500 desktop is going to outperform a two-generation-old laptop with a quarter as much ram. That doesn't make the Ryzen `for programmers.` I came in expected some crazy assembly insights, but instead this is just a PC build log. Nothing really supports the title of this article: it's just clickbait without any real support. And, at this point, most people reading hackernews know it's cheaper to build a PC than buy another PC / laptop---and those that still don't are doing it because a thousand dollars usually buys you a lot of warranty and convenience.
5 comments

To be fair to the writer, though he failed to mention it, core count is really what matters for the kind of work load he has (in other words, many many services running simultaneously, none of which is particularly demanding; there's just a lot of them and they all idle at > 0% CPU usage). Intel chips with comparable core count is far more expensive than the Ryzen equivalent.

That being said, you're absolutely correct in that this is far closer to a PC build log than to being a justification for why Ryzen is better than its Intel competitors. I too was expecting some "crazy assembly insights". I also do think it "reads like a rewrite of the wiki over at /r/buildapc".

So maybe I'm misunderstanding something here, but running a lot of idle things at slightly >0% is doable on a single core. my quadcore machine doesn't start showing hickups until the load is up to 12, implying I can run 3 fairly heavy tasks per core before it starts being a problem, I'd imagine I could run a lot more low-cpu tasks per core than that.

So why do you need a lot of cores for multitasking like that again?

The issue is not the "idle >0%" processes, it's about compiling, indexing, searching etc. code which is often CPU-bound (because everything is in the page cache).
The multi-core angle is the main "programmer" bit of Ryzen. If you are writing heavily multithreaded code you will get 2x the cores for your $.
I agree that Ryzen is a great chip! I am looking forward to getting one because, yeah, it makes for a great developer platform: it's got a bunch of cores, it's got a fantastic virtualization model that isn't randomly crippled on half the chips, it supports ECC ram easily, and it's a killer price-point.

The article doesn't really get into any of that, though.

not mentioning ECC is pretty sloppy, granted. And virtualization.
If that's the case then you should just go buy a sparc server off of ebay. I bought a Sun t1000 for $80 with shipping that has a 6 core sparc t1 with 24 threads.. and for a few hundred more you can get 128 threads in one 2u server! I suppose not everyone wants to write code for sparc (or keep a noisy server in your home office), but if all you're doing is web dev like the guy in this post then it doesn't really make much of a difference.
I still don't really see the pro to Ryzen in this case. It would be cheaper/better to get a couple used sandy bridge era (or newer in some cases) xeons off ebay with a dual socket motherboard in the multithreaded case, or get an i7-7700 for single threaded performance while still having a reasonable amount of cores+threads to play with.
For me it brings a lot of benefits: easier to find parts, consumer-level parts pricing, and lower TDP.

I'm running a dual Xeon as you mentioned, through buying ex-fleet parts at less than half price of new ones. Several issues I experienced:

- Lack of motherboard options. I had to purchase new motherboard at a high price since the ones that support dual Xeons are either in an incompatible form factor or simply out-of-stock. I settled with Asus Z9PE-D8 WS with an SSI-EEB form factor.

- Outdated BIOS. I had to order a new, pre-flashed, BIOS chip since the BIOS that came with the motherboard refused to boot with the CPU and memory combo.

- Hard to find suitable ECC RAM. The motherboard only supports limited RAM (speed + latency) configs, and finding those is becoming harder. Availability looks seasonal at times.

- Needs capable power supply. One thing that people often look past is the need of a proper PSU. I had to upgrade to one which support two CPU power connectors.

I'm running a similar setup to yours (IIRC I have the same mobo even), but I'm quite happy with it. I got new Xeons (1630 e5 @ 3.7 ghz), RAM compatibility was not something I found an issue (we're talking +/- 5 months ago here), power supply - I got a 1000W PS anyway to power several GPU's, I guess at that level they come with several connectors standard and I just didn't run into it as an issue. To be honest though I went for Xeon to get ECC, so if these new AMD's support that, then maybe next time...

What is SIMD support like for Ryzen? Does it do avx2 or something similar?

It's true that server components are generally loud. If you have the room, I recommend my setup - which is to have a (home build) rack in the basement, and run long DisplayPort cables (and USB extension cables) to the desk. Or build a closet around a rack in an office, which can be soundproofed. This does push it to the next level in terms of work involved, obviously (and cost as well if you don't have tools or time to DIY most of it).

It does AVX2 at half speed, AVX1 at full speed, but in return it runs at full clock rates with AVX, so it's not as bad as it sounds.
Most programming related workloads I can think of hardly benefit from avx2. Also, the additional power draw while using avx on intel is considerable, despite the clock rate drop; so perf/watt may not be as much behind as one might initially think.

This downside is likely to become slightly more serious as time goes on and more software uses avx2; but it's certainly not crippling.

Proper cases can be hard to come up with (new they are rather expensive), e.g. I can't do anything with a 85 cm deep pizza box in my rack (because that pizza box is like 15 cm longer than the whole thing), so I needed a bit more special case, which has space for a standard 2S board but is short as well. Only Supermicro had one of those.
Yeah, this is another problem that I had. Plenty of full-tower cases these days support EATX, but SSI-EEB not so much (at least, the ones that can support it out-of-the-box).

In the end, I went with one of the Phanteks Enthoo [1] cases. Decent quality without breaking the bank :)

Notes:

[1] - http://www.phanteks.com/enthoo-pro.html

I used an 825MTQ, which is the 2nd shortest server in my rack now :)
Go to /r/homelab and watch for a good 6 months. A lot of guys start off with old server hardware. Then, after 3 to 6 months, the noise and heat get to them, and they are begging for something more efficient.
... converse opinion, running a dev shop you want off the shelf "plug it in and go" options for developer machines. If we see significant advantages in general workflow (compiling, VM's, unit testing etc) with Ryzen at a compelling price point you can be sure we'll spec all new workstations with Ryzens once the OEM's get a solid "out of the box" solution.

We recently built an 8 core machine for a project for "how far could we push some multi-threaded" workload. The "out of the box" workstation's with 8 cores, at least in NZ, were staggeringly expensive. We managed to knock about 1/3rd to 1/2 off the price by a build our own solution but that's not workable for general purpose machines.

Early indicators for certain types of workflow, Ryzen is a blazingly fast platform at a very attractive price point.

I have an fx 8320. 8 cores and much cheaper then ryzen or intel.

4 cores is enough for (almost) any kind of multi-core dillydallying, so any "old" 4 core cpu is fine. (sidenote: firefox has "dillydallying" in its dictionary:)

It's probably the ryzen hype that got this post so high. I like AMD as well, but really.

IME many programmers think having to parallelise your code by hand is a tedious and error-prone part of programming that increases complexity for silly reasons and distracts you from the application domain, and a failure of programming language / compiler technology.
I admit I don't have a big problem with parallel coding often being considered something for experts/consultants/wizards. Keeps the prices up :)
It doesn't matter how much of an expert you are if your algorithm fundamentally isn't parallel though. We just don't know how to parallelise some things.
Fully agreed, but often these can be solved by reviewing the overall (business) problem.

E.g. maybe it's hard / not worth it to process a file in parallel, but maybe the most frequent use case needs to process more than one file and files can be processed in parallel with much less work.

4 cores are enough to write multithreaded code and catch the majority race conditions.

You would not run it in production on your desktop though no matter the core count.

Do not overestimate how heavy most CRUD is. What really matters is not exposing CPU heavy hitters directly (caching) and not hitting disk (also caching). And obviously network performance. Modern "desktops" ate stronger than most older "server" hardware.

What you don't get is warranty, redundancy so you have to handle it on your own, preferably multiple machines, power supplies and network connections. Or complete collocation if you can afford it.

Intel, unlike AMD, is hiking price for server market by disabling more important features like high RAM capacity support, ECC and remote management.

Looks quite different when you use a benchmark that scales more effectively with additional cores:

http://images.anandtech.com/graphs/graph11170/85882.png

yeah this is the one! A $1100 chip for $500, by Intel's math anyway.
There's something screwy with how that benchmark is done on an 8 core processor. Comparing a quad core Ryzen 5 1500X at 3.5Ghz to a quad core i7 7700 at 3.6Ghz, the difference is 10423/10843, or a difference of 4%. The biggest difference comes down to AMD seems very conservative about their base clock speeds for Ryzen. Against each other at similar clocks, the single core performance is near identical.

http://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+5+1500X&id...

http://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-7700+%...

The score you linked to showed the Ryzen as 26% faster than the i7. The Ryzen 1800x has a CPU mark of 15403 vs 12242 for the i7. I do remember reading that the Ryzen IPC is about 5% lower vs an i7, so I'm assuming whatever metric CPU mark is using takes into account the extra cores.
Completely agree. I was actually surprised how well the MBP Pro did in comparison. This article actually convinced me to invest in a new Apple laptop since that one really aged well.

I expected a new PC build with the latest 8 Core CPU and twice as much, better, RAM, to be at least quadruple the speed of a 4 years old MBP.

There is a ton of clickbait potential in Ryzen anything right now, and quite a few people are cashing in like crazy.

AMD has a very dedicated fanbase, but because they've been on the defensive for years they've built up a "siege mentality". Now that they're finally competitive again they're just going nuts.

Reviewers who put out Ryzen reviews that were perceived as less than ideal were getting death threats, and obviously the positive attention from people who were praising Ryzen as the second coming was just as intense.

Do we? I used to build my own PCs about 15 years ago when I had little spare cash. I got the feeling that approximately 5 years ago it became barely worthwhile to self-build even when excluding my own labour. Did I get it wrong?