loop vs whole benchmark