benchmarking - What do I need to consider when buying hardware to meet my needs?

05
2014-04
  • Questioner

    I'm looking to build a new computer from the ground up. I'm not sure what to look out for and need guidance and help on how to pick the hardware needed to construct my new rig.

    How do I know what to buy?

    • How do I find out if a given CPU will be enough for a certain game or application that I want to run?

    • How do I find out if a given graphics card will be enough for a certain game or application?

    • What is important when looking at motherboards?

    • How much memory do I need?

    • How do I know how much wattage I need for a power supply?

    • What size case do I need?

    • What relevant standards do I need to read up on and be aware of?

      PCI, PCIe, SATA, USB 2.0, USB 3.0, etc...

    • What "gotchas" do I need to be on the lookout for?

    Please keep responses generation-agnostic to ensure they will be helpful to our future users.

    While Stack Exchange does not permit shopping recommendations, it doesn't provide any general advice to consider when buying hardware. So, instead of just telling those that ask what to buy that it's not allowed, let's tell them how to figure out what they need.

    This question was Super User Question of the Week #20
    Read the June 20, 2011 blog entry for more details or submit your own Question of the Week.

  • Answers
  • Area 51

    Buy a computer for the upcoming years, not for today.

    Let's assume you are still at an university and that you probably want to get a computer for gaming purposes. In about a year you will graduate and have a very mobile life, but you're out of money to get a new laptop and the company laptop can't be taken home. Wouldn't you wish you had bought a laptop?

    Or assume that you are an architect student and want to become one of the next big architecture designers. If you bought a computer which is barely able to run the architecture software but not able to handle all the layers, then you will probably regret that you haven't spared or paid a little more for a better computer.

    So, consider to be happy for the next years instead of now. This doesn't apply to computers alone...

    Get to know the hardware you are planning to buy.

    Get an idea of what your new computer would be able to do, so you don't regret what you bought the moment you start using your new computer. This requires some effort, but this learn you about how powerful hardware really is and it's better than to regret afterwards.

    See what your local computer stores have to offer by visiting their online websites or fetching some folders from them. Use your favorite search engine to gather some reviews for the hardware that seems, when it doesn't fit your needs and when you need to compare you can look into some benchmarks.

    Don't forget to visit the manufacturer's sites too, especially the technical details.

    If you encounter a term that you don't know, Wikipedia has an explanation ready for you...


    enter image description here

    What are some good benchmark and review sites?

    Tom's Hardware has an extensive library of performance benchmarks and reviews for all kinds of graphics cards, hard disk drives, processors, power supplies, memory cards, servers and monitors. Alongside performance you will also be able to find charts for noise, temperature and a set of other characteristics.

    In the Benchmarks section of PassMark Software you will find comparison lists for processors, video cards, hard disk drives and even full systems. They aren't extensive in the mather of detail, but a ton of hardware benchmarks are incorporated in the system on a daily basis which makes it very accurate.

    When buying a laptop, make sure you don't forget to check Notebook Check. They benchmark and review laptops inside out, they even do display brightness distribution, noise levels and body temperature spread, so I doubt if you will find websites that go more into detail on a broad sets of laptops than this website does.

    Other than those, you will sure find some when you query [hardware model name] benchmarks...

    Now that we know where the benchmarks and reviews are, let's look at what else we need to look for.


    enter image description here

    What to look for in a processor?

    First, determine the amount of speed (CPU clock frequency, the unit is GHz) and cores you will need to get the job done. For a good understanding how speed applies to multiple cores, calculating clock speed in multi-core processors has some detailed explanation how you really should look at it. Just don't mindlessly compare the speed of different cores with or without multiplying them by the amount of cores, but get an idea of how it works.

    The processor also has a bus speed which determines how fast the memory will run. There is also an internal cache (just like in your browser) that brings a piece of the memory closer to the processor; so the amount of internal cache memory also plays a role and can make a difference in speed.

    Last, smaller sizes (the unit is micron or nm) will result in less temperature consumption and perhaps you might have specific needs for processor features like hardware virtualization. It's best to check out the processor's page on the manufacturers site to see what other things the processor has to offer for you...


    enter image description here

    What to look for in memory?

    Memory is really about size in the first place, as having a low amount of size will result in disk thrashing when you run out of memory which is what you will want to avoid. When you have enough size you can then look further in the speed of the memory, but make sure that you buy the right type of memory that your motherboard can handle.

    Since 2011, getting anything less than 4 GB today can be considered silly with the growing needs for memory and the cheaper prices. Buy as fast memory as your motherboard can handle, but remember that if money is an issue (as it normally is) it's better to buy more of a bit slower memory than less of a very fast memory. Also remember it's usually best to buy memory in pairs as most motherboards support dual channel.


    enter image description here

    What to look for in a hard disk drive?

    With changing hard disk drive (HDD) technologies these days, it can sometimes be confusing and frustrating when you are looking for storage. As this is where your all your applications and data will be stored one of the most important hardware components to understand, and make sure to verify if it is completely suitable for your uses and does have the options you may or may not need.

    First thing to consider is whether you are going for an SSD, a hybrid drive or just a hard disk drive. Jeff Atwood has a three-part article on performance between different hard disk drives, hybrid drives and SSDs.

    The main idea is that when you go for an SSD, you also buy a second hard drive where all your data can go to. When you go for a HDD alone you have the option to go for multiple of them in a RAID of multiple drives to get either speed or recovery advantages.

    When you have decided whether you go for a big SSD alone, a small SSD and bigger HDD, a hybrid drive or (a RAID of) hard drive(s). The next step comes into determining the amount of data you will need to store in the upcoming years. For the operating system and applications, most users are fine with 50 GB or more, super users with 100 GB or more, and extreme users will go up to 150 GB or more.

    enter image description here

    On top of this comes the amount of data you will be planning to store, which really depends on how you use your computer. Take a look at your current space usage with a tool like SpaceSniffer, which should give you a rough idea. If you don't know you can also go for what you deem sufficient enough and you can always add extra (external) hard disk drives later.

    When you buy a hard disk drive, the rotation speed (the unit is rounds per minute or RPM) is the main factor that determines the speed. Typical speeds are 5000 RPM, 7400 RPM, and 10000 RPM. Next to that just like the browser and your processor cache the amount of hard disk drive cache also determines the speed for a portion. Other than that it all boils down to understanding the technology; consulting technical details, reviews and benchmarks.


    enter image description here

    What to look for in a motherboard?

    The motherboard brings everything together, which means that you need to make sure that everything fits first and perhaps some extra features for later cards and external hardware. Make sure that it has the right socket for your processor, what kind of RAM is supported, the amount of PCI(-Express) slots, USB ports, LAN, audio, perhaps onboard graphics, and so on...

    Other than that, it also has to fit with the chassis you are planning on placing it in. So if you're planning on a non-standard chassis then you might want to look for specially designed motherboards too. Perhaps a shuttle is totally for you?


    enter image description here

    What to look for in a computer case?

    Your chassis should be fairly simple as it doesn't affect your computer usage by a bit. Unless you are planning to showcase your computer on a LAN party or something alike, going for a special space case shouldn't really be necessary. Unless the case really wouldn't match your room...

    One thing to consider, if you're going for a relatively high-powered machine (high end graphics cards for gaming or CAD, a multi-core processor that you intend to overclock) is chassis cooling. Reviews are usually pretty good about pointing this out, but you want something with good airflow and plenty of places to put the fans. Consider upgrading the fans if it's a heavy use machine like this - they'll be quieter and last longer.


    enter image description here

    What to look for in a power supply unit (PSU)?

    Last but not least, you need to supply your computer with power. And you want to make sure that something does happen when you push the power button, you don't want your computer to randomly reboot or in the worst case cause damage to your other hardware. Let me just say to you that I once had a power supply that made the lighting of my room flicker...

    The PSU converts 100, 120, or 230 volt AC to the 12, 5 and 3.3 volt DC that your computer's hardware needs. These voltages are distributed through connectors, also called rails, to individual hardware components inside your computer. The 12 volt rails run the fans, hard drives and optical drives, while the 5 and 3.3 volt rails power the CPU and other electronics.

    In the first place, it's important that the power supply can support your computer hardware in terms of wattage. Go through a power supply calculator or sum up all those wattage's listed in the technical specifications, then look for a PSU that supports this amount of wattage. Better higher instead of lower than the wattage.

    Next, check if there are enough power supply connectors and if they are compatible with the motherboard. Other things to look at are the ratings, quality and safety considerations; but in overall you should be fine if you watch out for that you don't go for a bad quality one.


    enter image description here

    Compare hardware quality and prices.

    It's better to compare different hardware products and go for the best quality / price you can find rather than to go with the first things you meet and come up with a bad quality computer that has cost you a lot.

    This also might give you something more worth for the money when you are on a limited budget...

    Check, buy and assemble.

    Make sure that you double check that the components fit on the motherboard, check the specifications!

    Go out and buy it. If you are planning to assemble the computer yourself, check out How do we assemble a computer properly?...


  • Related Question

    benchmarking - Given enough detail about a PC is it possible to calculate an accurate benchmark?
  • user4213

    If I know enough about a specific computer build is it practically possible to generate a benchmark based on the specification of the components?

    For example, I'll know the GPU & CPU speeds, chipset (plus all IO speeds), memory speed / channels etc and I'd like to build benchmarks based on formulas (not software tests).

    This seems possible as all of the components should work at the manufacturers stated speed. The downside is that it would be a theoretical benchmark dependent on the build quality of the motherboard and components which can sometimes be variable.

    My question is, is this approach feasible and if not, what are the factors preventing an accurate benchmark formula?

    Has anyone seen any algorithmic approaches to benchmarking?

    Note: This is related to my original post (http://superuser.com/questions/16358/given-a-processor-specification-how-can-i-figure-out-what-ram-it-can-use). Now I have more understanding of the importance of the chipset I am restating the question.

    Thanks in advance,

    Ryan


  • Related Answers
  • Bogdan_Ch

    How much accuracy for a benchmark do you expect and what type of benchmark do you want to estimate? If 5-10% accuracy will suite you, then you can try. You will have to collect benchmark results from different PC magazines and sites and update your database frequently in order to be able to benchmark different configurations.

    In any case you will also have to approximate some results because you will not be able to find tests for any configuration available on the market. For example you found benchmark results for chipsets X and Y for Intel processor 2GHz. Also you have benchmarks for 2.0Ghz and 2.33Ghz processors but for chipset Z. If 2.33Ghz is faster then 2.0Ghz say in 10% on chipset Z, could you expect that it will be faster in 10% on chipsets X and Y, so you can multiply you previous benchmarks on 1.1 ??? This is reasonable, but this will be only an approximate result.

    Also please take into account that there is no benchmark that suite all users and each benchmark can depend more on some computer components and less on another. For example if we want to measure floating point operations, we will have better results on more powerful processor. If we will run benchmark test for an Access database, we will see that results depend on HDD performance much more then on processor's and so on.

    Theoretical benchmarks are at some point become useless for end users, because what end users want to know is on what PC Vista will start faster or FireFox will open web site faster and it where it will take less time to save huge 20Mb Office document... End users rarely care about numbers of floating point operations.

  • Greg D

    It's a nice idea, but I don't think it's really realistic. I've seen the exact same hardware generate different benchmark results based on otherwise undetectable differences (presumably related to software).

    You may be able to generate a series of expected ranges for particular hardware configurations using an evidence-based approach that aggregates actual benchmarks, but even that wouldn't be particularly accurate.

    In short, I believe the answer is no, you can't.

  • nik

    This question reminds me of the popular 'how many piano tuners in a city' problem.
    Now, I know a lot of people are going to find faults in that association,
    this is how I'd like to explain it.
    Please note, I am not saying it is the same problem -- just somewhat similar.

    What your are trying to do is
    derive a benchmark figure (number of piano tuners)
    from various other results that may not correlate together.

    You could approximate some derivation rules to arrive at a benchmark,
    however, a number of parameters (subjective to each configuration in question)
    will cause your computed benchmark figure to deviate arbitrarily from the actual values.

    The existing benchmarking tools themselves have a hard time reproducing the results
    and like to dictate a lot of things on the test conditions.

  • jerryjvl

    You have to keep in mind that there are going to be scenarios that you will not be able to predict... for example, imagine:

    • Two processors A and B, where B has been shown to be about 1.5x the speed of A in otherwise identical systems
    • A new motherboard X, tested with processor A, giving it a 1.1x boost over its previous score due to optimisations in the chipset

    Does this mean you can conclude that B will also be 1.1x faster in X? Not necessarily; it may very well be that although the chipset is theoretically better by that factor, but it may still have some (as of yet) undetected bandwidth limit that prevents it from scaling above 1.5x the performance of A, so the better performance of B already uses up all that headroom.

    And this is but one example... there are going to be innumerable limitations like this between various components in the system, and some of them are never detected until just the right combination of components is put together. As a result any algorithmic approximation will undoubtedly end up with many unexpected corner cases that will turn out wildly inaccurate.