-
Notifications
You must be signed in to change notification settings - Fork 787
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
XXH3 charts not showing, add more hashes #189
Comments
While I can't find the charger for my Pentium 3 laptop, I do have a bunch of old Pentium 4 towers which were functioning fine when we replaced all of them with Core 2 Duos, and I could probably run a bench on one of those. |
Agreed.
Yes, that's an annoying point. The charts are stored in the "release" section, in order to note "pollute" the repository. They can be seen from other websites, and I use them in the XXH3 blogpost presentation. It also works from my markdown editor. However, when linked from Github So a work around will be needed. |
Why not put it in the gh-pages branch and link with The URLs transform like so:
|
That being said, this method is an improvement over putting the images directly in the active branch |
Well I think your line chart would be better as an SVG. zopflipng only can shrink it to 320K, and even shrinking it 50% and compressing again only brings us to 203K. I doubt a well-optimized SVG (I can optimize it if you give me a copy) would take up that much, though |
I don't know much about A good example of They are rather good, compared to average Btw, what's the source of your own |
What about linking to the interactive version (assuming this is Google sheets which I am like 99% sure it is)? You could have a low resolution png or svg, and when they click on it, they can see the actual data. |
That looks like a good idea. Don't assume I know anything about this stuff. It's not a Google sheet, I just used the benchmark program to generate traces in |
Ey, it looks like the mighty Pentium 4 lives on. But it doesn't have a hard drive, so live USB it is (I'm thinking Arch Linux 32 because I have Manjaro on my VM) Do you have the original code tree (or at least the repos and commit hashes) that you used for the benchmark available? I want to preferably use the exact same versions so it is a fair comparison because the changes to the hash function would influence the results.
With Google Docs, I can make this: To do this in Github markdown, you have to mix html and markdown: [<img src="http://example.com/image.png"/>](http://example.com) Unfortunately, it looks like the chart is a raster despite being interactive. |
That performance boost actually makes sense in that the Pentium 4 makes no sense; if my calculations are correct, a single XXH32 iteration would take a whopping 169 cycles thanks to the outrageous 14 cycle latency on its multiplier. However, Unfortunately, since we only have 256 MB of RAM and there is no drive to swap on, we might have a bit of a problem with the benchHash utility:
oof I definitely want to do as many hashes as possible in one run, but first I need to bump up the RAM a bit. I know for a fact that the tower can go all the way to 4gb (which was insane in 2004), and there are a bunch of old RAM sticks lying around so yeah. |
Just use the release tag
There is a (hidden) command to select the range of sizes :
|
No, I mean for the extra hashes. You only benchmark xxHash here in the source tree. Or, better, let's agree on a list of hashes so we can all have the same benchmarks. In that case, we would prob. want to use the xxh3 branch.
SeaHash is pretty slow and it is "totally insecure" coming from the same person who broke City64 and Murmur. You can xor it by the output of diffuse() and it zeroes out the entire hash.
We should make a dependency gather script so it will download the same versions for the benchmark without putting them directly in the tree. |
Such multi-hash comparator would be better handled as its own separate project, so that cloning this repository is really just about getting the The benchmark program is already designed for this : all hash dependencies are declared in I could certainly open such a project under my account, but there is an important side-effect : being the author of |
benchHashLog.txt HighwayHash C is pathetic lol |
I've updated |
The xxh3 charts don't appear to be showing on README.md. I can download the pictures directly, but I noticed that a lot of the newer hashes are missing:
Or, have two versions, one in the mode like you said and the other with a short blurb like this:
However, unlike a majority of these hash functions, XXH3 doesn't ask for much from the target CPU.
For example:
pclmuludq
on earlier chips.XXH3 only requires SSE2 or any NEON variant for its optimized implementation. If you are running an x86 chip from this century, an iPhone 3Gs or later, ARM64, or almost all Androids, you support this. Even without this, XXH3 calculates hashes very quickly even on a 32-bit target, despite being a 64-bit (or 128-bit) hash.
All it requires to be fast is a 32-bit to 64-bit multiply instruction, which is on x86, ARMv4t in ARM mode, ARMv6t2, and many more chips.
The text was updated successfully, but these errors were encountered: