So i had a conversation with a few programmers a few days back that have worked at Microsoft and Apple. I kind of heard about the same thought and concern across the board. They explain that the AMD FX chip is theory is a superior design over the i5/i7 current line, but yet as well see in real world test doesn't perform the way it is suppose to.
Main reason is because there is a limit in the speed of how caching/fetching/getter and setter functions the CPU works best and when you pass it. The 8 core CPU was primarily designed to work best and most efficiently @ the 8320 chip so the 8350 is in theory factory overclocked to a safe spec. When you compare the 8320 to the 8350, the improvement are about 5%, but in certain situation, mostly synthetic it does work because it was hard calculations. Now when you compare the 8350 to 9370/9590, the improvements follow the same suit, factory overclocked to a safe spec but more vigorously. Now there are tons of reviews that say the 6-core counterpart works better for its core clock and core count.
In many reviews, the 6-core FX processor, usually is said to be the best buy because of diminishing returns.. on the 8 cores, the 1 extra module kinda sits there in between the other 3 modules when they do their functions on the getter and setter functions because of the limits of caching and fetching. So whenever there is an opening after an update function or a fixed update function, the 4th module jump in. So it's only working when it can or when allowed to. So long story short, that 4th module has to wait. Now better programming for multi threading changes that, but most multi core processor have a sequencing and outsourcing the load from Core 0, to Core 1-7 on the FX chip, but it has to sit back until the main core speaks to the other cores and delegates the workload, which means a slow down. There is also another issue with the FX chip and that is the module idea. Because of a module both cores will act as 1 core until told so. So on single threaded applications, the cpu is only seen as a quad core, while multi-threaded applications see the 2 cores inside each module. When you see multi-threaded applications work, they are generally only working with 2 cores and then delegated to extra cores so less workload per main cores. Now since programming has come a long way, more modern multi-threading we see 4 cores atm being fully utilized from the start. We're going to a point now that multi-threading is about to be dictated by bridging fetching to delegate which cpu's do their work.
The Kaveri chip for example improved it by doing what they call super fetch which is where the information is set first now instead of directly to the core which means it works with any amount of core. So Kaveri if it had 4 cores or 8 core or even 16 cores in theory should improve performance proportionately. BUT, In the fashion of AMD, they never get it right the first time and always have set backs. This set back is that fetching has latency issues because it deals with L1 and L2 caching and L3 caching is not delegate in super fetch, only in the CPU itself controls L3 because it is subjective to the module itself. L3 is not directly connected to the chip but more so bridge by the module. So this latency issue is causing the performance degradation IMO.
I do think that AMD FX line atm is a superior design to Intel's Haswell but it doesn't yield the raw performance that everyone expected because AMD i think hurried it up. That's why Thubian X6 did so well, mainly because the fetch was direct to cpu, no module and caching wasn't split but more unified, IPC i still think Thubian is best AMD has come up to yet because of their direct connection to CPU. They're trying to design the chip now more like a power grid where the main grid send information to posts which then the posts send the energy where its needed.
I think the major issue is that these chips are coming out WAY too fast and the programmers can't keep up with the acceleration of evolution in the manufacturing market. I noticed from all the programming i'm currently doing that every time i change CPU's i notice weird changes that affects certain scripts in different ways. Maybe delayed loads, certain things may need to be called earlier because of how the architectures sequences, and things of that sort. I wish Chip designers would work more with programmers to offer the best performance out of a chip.
What's crazy is that AMD was willing to try something new and jumped it full on, i gotta commend them for their bravery. Intel is hardly willing to take leaps now a days, especially with ivy bridge and on. AMD is known to innovate a lot more frequently than Intel instead of worrying about efficiency so god damn much. I just wish AMD was more competitive, like they're on the GPU market. In general both Nvidia and AMD trade off blows in almost every scenario which is really good to see, especially with the current line ups.
Now you guys may disagree with my thoughts on it, but what do you guys think? Should AMD come up with a new architecture or improve their current one? Do you think that AMD is screwed in the performance market?