Code Optimisation: Trends, Challenges and Perspectives