Interesting analysis. I did some similar research a while ago around sparse matrix multiplication and came to a similar conclusion. The memory access pattern offered by CSR (and CSC) is startlingly effective.