### reading csv's How to benchmark: - There is a test in the `main_test.go` file containing a benchmark loop - run the command `go test -bench . -run ^$` to run only the benchmark test - you can make the bench tool run more iterations of the benchmark using a flag on the command: `go test -bench . -benchtime10x -run ^$` - to profile the program run `go test -bench . -benchtime=10x -run ^$ -cpuprofile cpu00.pprof` The above command will generate two files that will be used for profiling the program To use the generated files for profiling you have to run: `go tool pprof cpu00.pprof` For memory `go test -bench . -benchtime=10x -run ^$ -memprofile mem00.pprof` `go tool pprof -alloc_space mem00.pprof` This will start an interactive cli session where you can view more details about the functions running in the program Inside that interactive cli session you can use the `top` and `list` commands to see details of the functions that are running For tracing: `go test -bench . -benchtime=10x -run ^$ -trace trace01.out` `go tool trace trace01.out`