Batching the archive operations resulted in massive speedups for the library. Since numba tends to overcomplicate the implementation, we have decided to remove as much of it as we can. This does result in ~5s slowdown on the sphere example (e.g. with cma_me_imp, cma_me_imp_mu, and map_elites) but the total runtime is still much lower than before, and we gain much in code readability and hackability.
Note that we will continue to depend on numba (1) since numpy_groupies depends on it and (2) in case we need to speed up any other bottlenecks in the future.
Description
Batching the archive operations resulted in massive speedups for the library. Since numba tends to overcomplicate the implementation, we have decided to remove as much of it as we can. This does result in ~5s slowdown on the sphere example (e.g. with
cma_me_imp
,cma_me_imp_mu
, andmap_elites
) but the total runtime is still much lower than before, and we gain much in code readability and hackability.Note that we will continue to depend on numba (1) since numpy_groupies depends on it and (2) in case we need to speed up any other bottlenecks in the future.
TODO
Questions
Status
yapf
pytest
pylint
HISTORY.md