add benchmarks and revised colwise/rowwise reduction core loop based on benchmark results