fully separating the benchmarking code into its own directory and added allocation benchmarking