partially updated benchmark_reduce.jl