Is it advisable to put off any device purchases until this issue is fixed in a new generation of CPUs? So in 1-2 years?
Unless you are building a server, it does not matter. Your GPU handles a lot of desktop heavy workloads such as gaming. If you are building servers or a machine for CPU intensive tasks such as compiling chromium every hour, then you might want to look at AMD. The major performance hits are caused by meltdown patches that do not affect AMD. And the amount of cores they give certainly help in these workloads.
Fixing these bugs at CPU level will require changes in architectures. Such sweeping changes won't come for years. Intel has not made such a overhaul in years and AMD just made one.
There's no point in waiting. Neither Intel nor AMD will significantly adjust their roadmaps due to these issues simply because they don't realistically have the flexibility to do so.
Evaluate your threat model in the context of Meltdown/Spectre and opt in or out of the mitigations accordingly. There are relatively few cases where the workload is both significantly affected by the mitigations and vulnerable to these attacks (Xen paravirtualization would be the prototypical example). Personally, I opt out of page table isolation, KASLR and any retpoline-style mitigations on my desktop systems and compute servers for performance reasons. Make sure you understand the implications of these choices if you go that way, though.
The Meltdown and Spectre attacks require code execution on your local machine. You can avoid both the Meltdown and Spectre attacks by not downloading and running untrusted software.
If you operate safe computing practices it is unlikely you will be hit by either the Meltdown or Spectre attacks.
I still bought. Even if there are changes to the systems in the future to address them at a lower level, it'll be at least one generation away probably two. The timelines on designing new CPUs are multi-year beasts because of the complexity, and with the next generation happening "soon" I doubt a redesign could be feasible for them. So your looking at what I'd guess is a year or so for any movement.
Delay or upgrade by purchasing used hardware. I often buy my gear 3-4 years old from Ebay, it lets me upgrade without the sticker shock. This assumes you don't need the latest and greatest. I do this with laptops and server gear.
This is similar to purchasing used cars, you can steadily upgrade with much less capital and therefore each purchase holds much less risk. Also it's much better for the environment.
At scale or for personal use?
If at scale, you probably don’t have an option because you need it now.
If for personal use, we don’t know what the fix would look like, or whether there would be a perf hit. If you can hold off for a few years sure do it, but it’s not a huge part of the equation now.
How long will this device last you? If less than 2 years buy now.
Honestly very few reasons to wait. Everyone has this problem. The only thing I might wait for is clarification of the attack surface area of spectre since that can’t be patched but it seems like it’s difficult to pull off in most cases.
I'll refrain from buying an iMac Pro (which was on my roadmap) until the situation is fully clarified.
I mean how frustrated would one feel if it turned out that one spent that amount of money in a computer that should be replaced asap?
I would wait a month or so to get all information about this topic and evaluate it. As of now, it seems that AMD has an immediate fix that does not impact performance while Intel's immediate fix has a large performance impact. I do not understand why most people want to stick with Intel...
I just got an 8700k last week. I was thinking about returning it and go with Amd instead. The truth is, I do not do many tasks on my home computer where the CPU is going to be at >50% at all times.
The other truth is, that Intel CPUs are just faster than Amd Cpus (now with a few exceptions, but for general use that still applies).
I'd say if you are talking about a large quantity purchase, you should maybe wait or look for alternatives. Other than that it should not make much difference for us "normal folks."
Another truth is that there is / was so much misinformation out there.
Finally, I wonder if there are going to be any optimizations to these fixes in the future?
I was putting serious consideration into an iMac Pro but this has at the least made me stop to consider the options.
I write and run a ton of multithreaded data processing scripts and really feel this is going to be a world of hurt for me.
My last fully speced iMac has lasted me eight years, so I might just wait it out and perhaps pick up something far cheaper in the meantime.
I mean if you’re building a pc from scratch you could just factor in some overclocking to make up some of the performance loss I’d imagine. In the future we probably just won’t see the advertised speeds of chips increasing much IF the performance impact is as big as people are saying.
I would put off hardware purchases, but for a different reason - crypto miners. As I was researching parts to buy for a new rig, I realized that just a few weeks ago, some GPU models were about half the price they currently are. Apparently, something recently happened with Bitcoin and/or other cryptocurrencies that caused a spike in mining interest.
Buy the machine you need when you need it. If you don't need a new machine right now then yes delay that purchase.
If you want Intel and can wait, I would wait. They should fix Meltdown bug and it'll increate performance significantly in some edge cases. I think they'll release such processor in 2018. Spectre won't be fixed for a long time, so it should not affect purchase decisions.
If you upgrade your web browser, firmware (if not an apple or microsoft device), and OS you should be more than fine. There's not much else you can do now anyway, so just upgrade devices based on what features you want in a new device.
I don't see either of the bugs going away for consumer hardware? Both are somewhat fundamental optimizations and does not affect running trusted software.