Monday, July 2, 2018

mac - How do I decide between CPUs with different clock speeds, number of cores and L3 cache sizes?



I am a web designer and I'm considering purchasing a Mac Pro (one of the new cylindrical ones). I've scoured the internet for information on the different processor options that they offer, but I'm not really sure what will best suit my needs. I'm looking for some clarification on the advantages and disadvantages of a CPU with a higher clock speed (3.5 MHz) and lower cores (6 core) VS. a CPU with lower clock speeds (2.7 MHz) and more cores (12 core).



Here are the options right off of Apple's site:






When comparing processors with different clock speed, number of cores, and L3 cache size, which one should you choose and why?


Answer



The difference between those CPUs is not just in the L3, each step up has more cores, and more L3 to share cache between them.



Basically more cores and especially more L3 cache will mean better multi-threaded performance. Note that this is not the same as but is related to multi-tasking.



Video processing, especially transcoding one format or one resolution to another, is a task that can almost always benefit from more CPU cores. Especially in programs that lack GPU based video decoding and encoding or for systems that have a GPU that has relatively poor performance. A large L3 cache would allow a bigger segment of data to be brought onto the CPU, for the multi-threaded encoder to then work on in parallel. The clock speed might be slightly lower for more cores, but the overall work throughput could be much higher due to having more cores and a larger (faster than main memory) cache to store a good amount of data in.




In order to objectively assess what you are going to buy you need to work out what tasks you are going to use it for and find out if they are capable of being split across multiple cores.



Graphics design/manipulation can also probably benefit from multithreading as it is generally a large amount of memory merging and manipulation through filters, convolves and other effects. A well written application would probably make good use of more cores and the net gain per core is probably a lot higher than the net loss in terms of CPU frequency.



Tasks that can generally benefit from more cores (to my limited knowledge) include:




  • video transcoding (i.e. converting from mpeg-2/DVD to mpeg4 or similar)

  • batch audio processing


  • software compiling

  • 3D CAD (to a certain extent)

  • Graphic design

  • scientific data processing (big data sets, same process to be run across them all)



Tasks that are more memory than CPU bound, therefore cores/cache are less important:




  • browsing the Internet (lots of tabs)


  • social media



Tasks that generally work better with faster cores (but >2 cores definitely helps):





Heavy mutitasking, such as having a lot of applications loaded, will depend a lot on the type of tasks you want to keep running and whether they are actually doing something. If they are sitting in the background but not actually working then you want more memory, if you want to work on something else while another task is "doing it's thing" in the background, then the CPU will matter more.


No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...