Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Benchmark restructuring and memory profiling (activeloopai#642)
* Refactor compression benchmarks to runnable design Plan: each benchmark will export two functions, filename_setup and filename_run, which designate how the benchmark is to be run. setup will take any required parameters and return a processed param tuple to be passed as argument to the runner. The runner is designed to be as slim as possible so we only measure the crucial code. Then, we can externally call these functions and time/profile/benchmark on the runtime of the function call, allowing for a great increase of control. Further refactors along this design coming soon. * Refactor dataset iteration benchmarks Following the previous commit, this refactors the benchmark_dataset_iter into separate files with the same design as the now-refactored `benchmark_compress_hub.py`. One step closer to full control * Add full dataset compute benchmark It'll be nice to keep track of this as well. Might be subsumed by the dataset_comparison file, but I'll get to that next. * Refactor benchmark_random_access into new format Improves `benchmark_access_hub_full.py` and uses that as a base for `benchmark_access_hub_slice.py` which replaces functionality from `benchmark_random_access.py` (now deleted). * Remove unused line in benchmark_iterate_hub TF * Local variants of iteration benchmarks using tfds * Remove dataset compare benchmarks Existing refactored benchmarks now cover all cases once present in this file. * Rename remaining un-refactored benchmarks "legacy" Until these can be converted, I want to have a distinction to know what is and isn't compatible with the new runner (next few commits). This will probably be fixed before going in * Fix minor issues in total access benchmarks * Initial prototype for benchmark runner notebook * Update benchmark runner notebook * Add psutil to benchmark requirements * Fix pytorch and tensorflow local benchmarks * Add network benchmarking and expand suites * Update .gitignore with benchmark local data * Auto-fix issues with black * Add time to network monitor output to plot better
- Loading branch information