Memory access patterns make a huge a difference to memory throughput. I've explored this in some detail in the following blog.
http://mechanical-sympathy.blogspot.co.uk/2012/08/memory-access-patterns-are-important.html On Sunday, 30 March 2014 06:40:24 UTC+1, Andy C wrote: > > > Hi, > > So this is a follow-up. I claimed that 1 CPU core can saturate the memory > but it turns out I was wrong, at least to some extend. Driven by curiosity > I decided to do some measurements and test my somewhat older MBP 2.2GHz > Inter Core i7. While it obviously all depends on the hardware, I thought it > could be still a good test. > > In order to rule out the GC and JVM out of equation I went back to old > good C and wrote a simple program which accesses a 40MB chunk of memory in > both linear and random manner. All tests run a few times to ensure proper > warm up and allocations within OS, however saw a great deal of > consistency. It is not scientific by any means, but gives a rough idea > what we are dealing with. Here are results where numbers are normalized > gains. > > +----------------+-----------+------------+ > | # of processes | random | linear | > +----------------+-----------+------------+ > | 1 | 1.00 | 1.00 | > +----------------+-----------+------------+ > | 2 | 1.97 | 1.76 | > +----------------+-----------+------------+ > | 4 | 3.51 | 1.83 | > +----------------+-----------+------------+ > | 8 | 4.24 | 1.86 | > +----------------+-----------+------------+ > > The conclusion is that in practice two cores can easily saturate memory > buses. Accessing it in certain patters helps to some extend. Although 8 > cores is pretty much all what makes sense unless you do tons of in cache > stuff. > > Best, > Andy > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.