Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimize numba usage #232

Merged
merged 7 commits into from
Jul 24, 2022
Merged

Minimize numba usage #232

merged 7 commits into from
Jul 24, 2022

Conversation

btjanaka
Copy link
Member

@btjanaka btjanaka commented Jul 22, 2022

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, 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.

TODO

Questions

Status

  • I have read the guidelines in CONTRIBUTING.md
  • I have formatted my code using yapf
  • I have tested my code by running pytest
  • I have linted my code with pylint
  • I have added a one-line description of my change to the changelog in HISTORY.md
  • This PR is ready to go

@itsdawei itsdawei mentioned this pull request Jul 23, 2022
14 tasks
Copy link
Collaborator

@itsdawei itsdawei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

ribs/archives/_cvt_archive.py Show resolved Hide resolved
@btjanaka btjanaka merged commit 6830c43 into master Jul 24, 2022
@btjanaka btjanaka deleted the minimize-numba branch July 24, 2022 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants