According to Ludovic on mailing list (see http://markmail.org/thread/na33ve23kvgjjlul):
Velocity is clearly quite expensive. Now I see particularly:
8.5% - com.xpn.xwiki.render.DefaultVelocityManager.getVelocityEngine
Would this mean we are spending 8,5% of the time getting the velocity
engine to use ?
This sounds a lot.
One reason I could see is that this method is synchronized and thus when there are lots of threads, they'll wait to get the lock on the object.