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

Optimize rabinkarp_update() #191

Merged
merged 8 commits into from Apr 27, 2020
Merged

Commits on Apr 15, 2020

  1. Initial tests with unrolling rabinkarp_update() as a function.

    This adds rabinkarp.c copying rollsum.c's unrolled loop idea.
    dbaarda committed Apr 15, 2020
    Copy the full SHA
    19edd8a View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    29f38f7 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2020

  1. Use optimized rabinkarp_pow() and parallelizable DOMULT4().

    Change from a generic uint32_pow() to rabinkarp_pow() optimized using a lookup
    table for getting powers of RABINKARP_MULT.
    
    Use a DOMULT4() macro to unroll rabinkarp_update() in a way that means 4
    multiplies could be piplined/parallelized if the hardware can do it. Each
    multiply is not dependent on the results of the previous multiply.
    dbaarda committed Apr 16, 2020
    Copy the full SHA
    6995e38 View commit details
    Browse the repository at this point in the history
  2. Add rabinkarp_perf.c test and optimize rabinkarp.c.

    A lot of testing of many different variants of the loop unrolling seems to
    indicate this is the best variant of the loop-unrolling.
    dbaarda committed Apr 16, 2020
    Copy the full SHA
    247992a View commit details
    Browse the repository at this point in the history
  3. Added header to rabinkarp.c.

    dbaarda committed Apr 16, 2020
    Copy the full SHA
    c0ecc2f View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2020

  1. Copy the full SHA
    1d0233a View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2020

  1. Copy the full SHA
    57d8b15 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    652297a View commit details
    Browse the repository at this point in the history