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

generate tables #18

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

generate tables #18

wants to merge 1 commit into from

Conversation

WillAbides
Copy link

I noticed a couple of TODOs to generate tables at compile time. This PR mostly does that.

In rsec16, generators is now generate by rsec16/internal/gen by way of a //go:generate statement.

In gf2p16, expTable and logTable are similarly generated by gf2p16/internal/gen.

I wanted to do the same with mulTable, but the generated file was over 200MB. Instead I converted it to use a lazy-loaded cache. I also added gr2p16.LoadCaches() which will preload mulTableCache in case you don't want to lazy-load that.

I realize this PR is somewhat out of the blue. I just happened onto this repo when looking into par2 and thought I might speed have a go at a streaming API. That didn't work out, but I figured I could at least contribute this bit.

@akalin
Copy link
Owner

akalin commented Aug 5, 2021

Wow, thanks for the PR! I'll try and take a close look this weekend. :)

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.

2 participants