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

(don't merge) Re-add siphash #222

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Commits on Oct 6, 2021

  1. Revert "Don't use SipHash"

    This reverts commit d65f9de.
    
    Re-add fnv
    
    Make it sortoff work with siphash
    
    except linking
    
    Make it link
    
    Remove typedef
    
    Add siphash.h to includes folder
    
    Fix golden test for siphash
    
    If we can't make siphash as fast as fnv,
    we probably want to support both in a final version.
    But I'll do that later.
    
    Fix tests for chuncks in bytestring
    
    (I just forgot to port a bunch of code)
    
    Fix lazy text test suite as well
    
    Delete example file
    
    Rebase on master, make test suite pass once more
    jappeace committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    e656df8 View commit details
    Browse the repository at this point in the history
  2. Address review comments, add more tests, fixup siphash

    this is just the old implementation of siphash.
    with some tweaks to make it more streamable
    (still not great but good enough for benchmarks).
    
    -- squash log
    
    Use capi if available for offset
    
    Add more capi calls
    
    Flip expectation and actual args
    
    it showed up wrongly in the test suite
    
    Add more capi, add TODO
    
    Revert Hashable/Class to upstream master
    
    trying to contain changes to just that module
    
    Fix regression (once more)
    
    Don't expose the old functions
    
    Fix capi issues.
    
    Apprantly half of these functions weren't defined in the header.
    
    Tell people to use sse instead of asking
    
    Apply clang format
    
    Add siphash to benchmarks
    
    Add initializeState function, this will capture initizlie
    
    don't know how to do finalize yet
    
    Make it compile again (apparntly k1 and salt were used interchanbly)
    
    that's not a good idea
    
    Clean out the c code a bit.
    
    It was really strange.
    
    Make it build.. again?
    
    re-add header file
    
    I guess this will just keep on bein inconsistent
    
    remove cbits *.h from benchamark cabal file
    
    OMG that worked, lazy text now bytearray
    
    man, I doubted myself every step along the way, maybe I can do this?
    
    Draft for doing bytestring
    
    Make some headway on the regession tests
    
    Make testsuite pass once more
    
    Put in rounds as an argument
    
    Add compression round as args
    
    Add some common sense tests on previous state
    
    fails of course, not sure what's happening here
    
    Import <$>
    
    I guess different chars can also produce same hashes.
    
    Cleanup C-api for a bit
    
    it's still utterly broken however.
    I guess I need to try it out in C and see why the state isn't
    changing.
    
    Chunck -> Chunk
    
    Get rid of more c code
    
    idk maybe this do something with the sse stuff
    
    (after reading ghci comment)
    
    Figured out why no compression (lol)
    
    Update 64bit text once more
    
    Better explain 0
    
    Split lines
    
    Lazy text can be big as well
    
    don't funroll by hand, add comments explaing what's going on
    
    Use properties instead of hardcoded test cases for statefullness
    
    Add prefix based tests as well
    
    hmm not so ez for text
    
    this also makes me doubt the bytestring implementaiton.
    
    I should check if with larger arbitrary instances that doesn't
    fall over
    
    (text tends to have larger bytestring representations then bytestring)
    
    Guess we really did solve the bytestring implementation
    
    This should pass CI
    
    Fix imports
    
    Fix ci for ghc 8.2.2
    
    Add icescream cone
    
    Try fix ancient ghc
    
    Attempt fix ancient ghc II
    
    expose bytestring dependency ancient ghc
    
    import pure as well
    
    diddn't realize my style was so modern
    
    fix parse error
    
    maybe this will make conditional true?
    
    Fix properties for ancient ghc
    
    Fix parse error on imports
    
    add bytestring builder everywhere
    
    maybe solve cabal pain like this?
    
    disable property for ancient ghc
    
    try fix ancient ghc IX
    jappeace committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b169fe9 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2021

  1. Configuration menu
    Copy the full SHA
    7fa43c2 View commit details
    Browse the repository at this point in the history
  2. enable sse4 in bench

    jappeace committed Oct 8, 2021
    Configuration menu
    Copy the full SHA
    2397260 View commit details
    Browse the repository at this point in the history