Which bit of a 4k page does your program use?

This follows on from the previous post – here are the plots.

These are based on a run of the PARSEC benchmark suite x264 program – encoding 32 frames of video using 18 threads – 16 worker threads: the plots show how often each 16 byte “line” is used – whether as an instruction is read or the memory is used for read-write storage. Sixteen bytes is both the size of a typical cache line and a read from a DDR memory.

all code memonly


The code plot might suggest there is some pattern – between about segments 100 (offset 0x640 inside the page) and 200 (offset 0xC80) there is an increased hit rate) but my guess is that is an artefact of the particular code being used here, rather a general issue (possible explanations would be a particular library function being very heavily used): though conceivably it could be an issue with the GCC compiler or linker.

That might be worth further exploration, but not for me. From visual inspection I am concluding that the distribution of accesses inside a 4k page doesn’t justify trying to pre-cache particular 16 byte “lines”.

Enhanced by Zemanta

“One of the finest engineers of the open source movement”

Me & Eric Raymond .. Open Source Evangelist.
Image via Wikipedia

If one were ever to dare to apply this to Richard Stallman, one could expect to be cast into the outer darkness. Whatever else he is, Stallman is nothing to do with “the open source movement” – which he rejects as a capitulation to corporate interests that seek to destroy free software.

Stallman is, though, entitled to regard himself and be regarded as “one of the finest engineers” of free software. I doubt he is very active as a developer these days, but as the creator of GCC and GNU EMACS he more or less made everything else possible.

But the title of this post does not refer to Stallman at all, but rather ridiculously to Eric S. Raymond.

Raymond has written some software – he wrote most of Fetchmail and as a user I want to thank him for it. But does that make him one of the finest engineers of open source or anything else? Not really.