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

Draft PR for using the new iterator #48

Draft
wants to merge 16 commits into
base: dev
Choose a base branch
from
Draft

Draft PR for using the new iterator #48

wants to merge 16 commits into from

Conversation

davidamarquis
Copy link
Collaborator

@davidamarquis davidamarquis commented Nov 18, 2024

Not ready for review, just posting this to keep track of benchmarks.

I'm done with Julia-based optimizations for now. There are some other optimizations White describes in Ch7 that I would like to do but that would be in a future PR.

Remaining tasks for this PR
Reduce matrix size by excluding identity submatrix from the enumeration
Make new approach multithreaded

Benchmarks
The benchmarks here use the code in benchmarks/weight_dist_bench.jl
n=70
k=35
Code used is the code of largest distance that is known for [n, k]

Nov 18 Benchmarks (1 thread)
Old approach which uses matrix mulitiplies
Time ~ 3.7s
Memory ~ 62 MiB

New approach
Time ~ 10.7 ms Time ~ 335ms [Edit: earlier today posted 10.7 ms but there was a mistake because of a line of code Id left in that was meant for Zimmerman's algorithm, not for Brouwer's.]
Memory ~ 480 KiB

So new approach is about 11 times faster [updated].

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.

1 participant