Fortran: ¿La mejor manera de cronometrar secciones de su código?

A veces, mientras se optimiza el código, es necesario cronometrar ciertas partes del código, he estado usando lo siguiente durante años, pero me preguntaba si hay una manera más simple / mejor de hacerlo. call system_clock(count_rate=clock_rate) !Find the time rate call