Memory usage optimization
Optimization of the peak memory usage by
- Discarding quantities when they are not needed anymore (writing them to file if needed)
- Using multiple parallel writing processes to handle quicker writing, then merging intermediary files to a single final file
Optimization of runtime by
- Identifying independent branches and adding option to run them in parallel processes (not working on most platforms)
Reformatting of many files using Black.
Edited by Jean-Baptiste Bayle