While searching on the net about Perf I found in some articles, that recent developments in the Linux aim to solve problems found in Oprofile.
I would like to know witch problems are in Oprofile? and the difference between perf and oprofile.
I know that both perf and oprofile are profiling tools for hardware events. We can either use perf or Oprofile? 
Does perf replace Oprofile? Or they have both different features?

Best regards,