That's interesting. Maybe final enabled more inlining, and clang is being too aggressive about it for the icache sizes in play here? I'd love to see a comparison of the generated code.
I'm disappointed the author's conclusion is "don't use final", not "something is wrong with clang".