recursive benchmark