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

Improve performance of A6 algorithm and input code #3

Merged
merged 5 commits into from
Mar 22, 2022
Merged

Conversation

ivan-shrimp
Copy link
Owner

This fix involves:

  • Simplifying the algorithm for Problem A6,
    removing the need for a custom right_exp_search routine.
  • Creating the a6_benchgen crate, containing:
    • a library with an algorithm that generates bad-case data for A6; and
    • a command line tool that outputs said data with some customization options.
  • Adding a zero-copy parsing method to read_u32.
  • Changing the API of read_u32 to allow U32Reader to own an underlying reader,
    and removing the read_line method which is incompatible with this change.
    • This involves changes in both A5 and A6.
  • Removing all uses of unstable features.

@ivan-shrimp
Copy link
Owner Author

Looks like the comment above caused GitHub to say "ivan-shrimp mentioned this pull request" in the Rust PR mentioned above.

I'm a student, this is just a small programming competition project and the mention was unintended. If you're a Rust developer that came across this due to the mention, I'm really sorry and I'd like to thank you for improving Rust and allowing all of us to write correct and maintainable code.

@ivan-shrimp ivan-shrimp merged commit c4609c6 into master Mar 22, 2022
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