What are the possible reasons for the different performance of the same application on different platforms (CPU is from the same manufacturer, and the models are not too different)?

  c++, question

If an application is transplanted from the original platform to another platform, its CPU usage varies greatly. What factors may cause this difference?

1. CPU is from the same manufacturer;
2. The difference in CPU models is not too great, but the one with higher BogoMIPS value consumes more CPU.
3. There is not much difference in the overall hardware structure.
4. The same SDK is used.

If the microarchitecture is different (such as Cortex-A8 and Cortex-A9), the performance gap will be large. There is also cache size, dominant frequency, etc