add benchmark table
benchmark_map uses BenchmarkTable
benchmark_vbroadcast uses BenchmarkTable
fixes to basic reduction