I found and wanted to the share the following link, which contains a lot of useful benchmarking stats. I’ll admit, I was surprised by a lot of these, and didn’t realize how much slower some of these calls are.
At the same time, while it’s true to say it takes longer to use one method over another, it’s worth keeping in mind that in most cases the time spent over 2 million iterations was still around three seconds or less. A three second cost would mean .0015 millisecond cost each, on average. If it’s not something you’re likely to do thousands of times (call_user_func), you’re looking at a completely reasonable cost. If you’re doing it more than that, you might want to consider refactoring your code to do it less.