updated benchmark to re-use slices instead of allocating new ones for each run