The pointer-chasing technique you implement here is exactly how Intel's Memory Latency Checker (mlc) and the classic lmbench suite measure real hardware, and Ulrich Drepper's 'What Every Programmer Should Know About Memory' is required reading for systems engineers optimizing hot loops. Database engines and game engines both restructure data layouts specifically to keep hot data inside L1/L2 instead of paying the ~200-cycle RAM penalty you measure here.