There is an optimized accumulate/reduce() implementation which is used when the input iterators are buffer_iterator's and the function is commutative. This is most likely the cause for the performance increase.