On 14-09-29 02:55 PM, Karsten wrote: > Hi all, > > I'm thinking, about a new PC and therefor also new CPU. From which king of CPU > darktable will benefit most? More cores or more GHz? > > For example: > > Intel Core i7-4790K, 4x 4.00GHz, in Germany 298 Euro > Intel Core i7-5930K, 6x 3.50GHz, in Germany 510 Euro > Intel Core i7-5960X, 8x 3.00GHz, in Germany 898 Euro > > Does darktable benefits enough from the real cores to justify the higher > price?
As an aside to the GPU discussion, in general terms the more cores you fit onto a chip (and thus into a single system board socket) the less performance you can get out of each core, and the more cores an algorithm is spread over, in general, the less efficient it becomes per-core, even though the overall performance is better than a single core. Each core on a chip shares cache with the other cores, as well as all the buses out to memory and other hardware, so each core starts colliding with other cores, especially for access to memory. As a very loose rule of thumb you can estimate a chip's average performance by assuming that all GHz are equal and then reduce the effective GHz by 10% (or multiply by 0.9) for every core over 1. That is, 2 4GHz cores gives you 2 * 4 * 0.9 = 7.2GHz equivalent performance, not 8GHz. Thus in your examples above: 4 x 4 * (0.9^3) = 11.7GHz 6 x 3.5 * (0.9^5) = 12.4GHz 8 x 3 * (0.9^7) = 11.47GHz In general the performance reduction is greater when each core is running different code (more memory and cache collisions) and less when running the same code on the same memory area so when running Darktable it very much depends how the code works - if it uses multiple threads on the same areas of memory at the same time (closely-coupled) then the performance will be better, if each thread works on different areas of memory the performance will be lower (because each thread will be fetching different areas of memory and there will be a lot of cache churn and the cores will spend a lot of their time just waiting for memory transfers). If you don't know your code is well-designed for multicore then favour high GHz and lower number of cores. In the figures above even if the code is very well-designed for multicore the price of the 8-core chip makes me suspect you're not going to get value for money. And if you're pushing most stuff out to your GPU via OpenCL then it doesn’t matter anyway. Take these figures with a huge grain of salt, and I'll obviously defer to the DT developers who may have some real-world experience with DT code on various multicore chips. > > Regards > Karsten > > > > > > ------------------------------------------------------------------------------ > Slashdot TV. Videos for Nerds. Stuff that Matters. > http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk > _______________________________________________ > Darktable-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/darktable-users > ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk _______________________________________________ Darktable-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/darktable-users
