In my experience using MATLAB and R for minute bar and higher resolution backtests, they work pretty well for these discrete intervals where you calculate a signal and a cumulative return for each period. I'm not an algorithms genius, but I think it would be pretty hard to do event driven backtesting on tick data with vectorized languages like these. MATLAB seems to perform a little better on loops, but that's not something I've tested, just an opinion from using both for different classes. I like both. I've never used Python in the manner I use MATLAB and R.
I've tried to design my little event driven Backtesting platform so that it's rather language agnostic among my choice of languages. For example, the loop that loops over my data in the main program is in C#, but inside that loop you can call code to evaluate a new tick in a few different languages. I'm not sure really how much overhead is involved in moving the data into MATLAB or R...I'm not claiming this approach will make them faster, I just wanted the flexibility to do event driven backtests from one platform with the same logic utilizing both lower level languages and high level languages like R and MATLAB.