зависимость скорости выполнения от объёма кэша очень нелинейна скажем так: для отдельно взятой задачи есть предел, выше которого наращивание объёма кэша практически не увеличивает производительности. Кроме того сам ход выполнения программы на разных архитектурах может существенно различаться, если компилятор использует особенности этих архитектур. Например, это может отразиться на условных переходах.
Кэш в отличие от ядра имеет простую "прямоугольную" структуру, и сравнивать например 10 кв.мм кэша с 10 кв.мм ядра не вполне корректно именно по этой причине