Commit Graph

924 Commits

Author SHA1 Message Date
Yann Collet
3e6c039a87
Merge pull request #338 from easyaspi314/fix-warnings
Fix a few warnings
2020-03-16 10:18:49 -07:00
easyaspi314 (Devin)
7ea2940fd6 Fix a few warnings
- Trailing comma in enum in xxhsum.c
 - Extra semicolon
 - Non-constant brace list initializers
2020-03-16 12:29:49 -04:00
Yann Collet
607966c900
Merge pull request #335 from easyaspi314/unicode-xp
New Windows Unicode solution, works on XP
2020-03-13 10:15:28 -07:00
Yann Collet
77294d27ae updated version number
in order to distinguish users of the release from potential users of the development version
2020-03-12 14:45:51 -07:00
easyaspi314 (Devin)
7328e217af Re-wrap comments.
Helps when you set your guideline to the correct column.
2020-03-10 14:12:15 -04:00
easyaspi314 (Devin)
a532573cf9 New Windows Unicode solution, works on XP
Now uses WriteConsoleW instead of vfwprintf. This is codepage
independent and works on Windows XP.

Doing this also avoids the _O_U8TEXT hack.
2020-03-10 14:06:09 -04:00
Yann Collet
f6872bf514
Merge pull request #334 from easyaspi314/makefile-fixes
Minor Makefile fixes
2020-03-09 22:57:27 -07:00
easyaspi314 (Devin)
519dc67b23 Replace --std with -std, fix typo
`--std` is improper but accepted. The correct option is `-std`.
2020-03-10 01:21:23 -04:00
easyaspi314 (Devin)
4d4ce34a56 Fix Makefile portability issues
Don't use `-mavx2 -maes` in collisions

It prevents `make test` from passing on non-x86 targets

TODO: proper Windows library flags: bfd accepts Linux flags, but
ld.lld errors on `-Wl,-soname`
2020-03-10 01:20:47 -04:00
Yann Collet
44c3781f12
Merge pull request #333 from easyaspi314/xxhsum-bench
xxhsum bench improvements
2020-03-09 21:39:54 -07:00
easyaspi314 (Devin)
962813dc7d Use better wording for short hash name
XXH3_64b seeded -> XXH3_64b w/seed
XXH3_64b secret -> XXH3_64b w/secret
2020-03-09 21:26:25 -04:00
easyaspi314 (Devin)
e30c5cc908 xxhsum.c: Remove some unused macros
MEM_MODULE and SET_SPARSE_FILE_MODE aren't even used, remove them.
2020-03-09 20:03:15 -04:00
easyaspi314 (Devin)
3e567ea317 Add withSecret variants to the benchmark
Moved sanityBuffer generator to its own function and made a static
buffer to use as a secret. Easier than passing a pointer around.
2020-03-09 19:44:04 -04:00
easyaspi314 (Devin)
a5e21d1da6 Abstract xxhsum bench, increase line length
Uses a table and a loop to reduce copy/paste and allow easy testing of
other hash functions. Create a wrapper and insert it into
g_hashesToBench, and it will automatically be added to the benchmark.

The hash display line has been made longer to actually fit xxHash's
names instead of clipping them. It is also configurable.
2020-03-09 19:02:48 -04:00
Yann Collet
1dc959b74d
Merge pull request #332 from easyaspi314/documentation-v2
More documentation and cleanup
2020-03-09 15:16:40 -07:00
easyaspi314 (Devin)
de893872d5 Document Unicode behavior on XP and 7 2020-03-09 17:53:07 -04:00
easyaspi314 (Devin)
fd42399e87 [WIP] xxh3.h: Wrap some long lines
Breaks up many very long lines.

It isn't perfect but it is a start.
2020-03-09 17:53:07 -04:00
easyaspi314 (Devin)
e2ad7b6427 Minor fixes
Fix XXH128 streaming comment which incorrectly claims that the
initializers are different, slight indentation fixes
2020-03-09 17:53:07 -04:00
easyaspi314 (Devin)
6ce8de0495 Rearrange hashLongs, rename XXH3_hashLong_internal
Reordered the hashLong wrappers so they aren't split by the seed init
code

Renamed XXH3_hashLong_internal to XXH3_hashLong_64b_internal to match
128-bit variant
2020-03-09 17:53:07 -04:00
easyaspi314 (Devin)
c7ec453bb6 XXH128 blurb, small fixes 2020-03-09 17:53:07 -04:00
Yann Collet
3f06265869
Merge pull request #330 from easyaspi314/align-malloc
[HOTFIX] Align malloc, use createState/freeState in sanity check
2020-03-08 23:28:38 -07:00
Yann Collet
8405fd6d33 fix typo default sample size 2020-03-08 23:24:08 -07:00
easyaspi314 (Devin)
f7280a3dcb Don't over-allocate XXH32/XXH64, don't hardcode
Restored XXH_malloc, renamed new XXH_malloc to XXH_alignedMalloc

XXH32_state_t and XXH64_state_t are no longer overaligned.

XXH_alignedMalloc takes any power of 2 alignment between 8 and 128.
Granted, we always call it with 64...
2020-03-09 01:31:20 -04:00
Yann Collet
da89e10839
Merge pull request #331 from easyaspi314/copyright-years
Fix copyright years
2020-03-08 21:13:23 -07:00
easyaspi314 (Devin)
2ac339ce2f Shill XXH3 in XXH32/XXH64 comments
Also change "usable" to "competitive" - more positive, and contrasts
with XXH64 which can be deemed as "usable" on 32-bit.
2020-03-08 23:13:38 -04:00
easyaspi314 (Devin)
b9b880eadd Add release candidate status to XXH3 comment
To match README.md.
2020-03-08 23:09:11 -04:00
easyaspi314 (Devin)
3d81905230 Explain the reason for 64 byte alignment and the bug
Also further explain not using memalign functions
2020-03-08 22:55:25 -04:00
easyaspi314 (Devin)
988be85844 Fix -Wconversion on older GCC versions
Understandable false positive.
2020-03-08 21:36:03 -04:00
easyaspi314 (Devin)
c994f5c9ef Fix copyright years
- Replace '-present' with '-2020' (fixes #329)
 - Use correct format: Copyright (C) <year> <name of author>
 - Fix some obviously incorrect years from copy/paste i.e. avoid time travel
2020-03-08 21:28:43 -04:00
easyaspi314 (Devin)
37e33e43dd Fix typo
It helps if you press Ctrl+S.
2020-03-08 21:05:32 -04:00
easyaspi314 (Devin)
c224e5836b Improve comments for XXH_malloc 2020-03-08 21:03:06 -04:00
easyaspi314 (Devin)
6aa4b03e35 Use createState/freeState in the sanity check
A malloc alignment bug went unnoticed since all states were allocated on
the stack.

It is a more orthogonal usage and tests the allocation functions.
2020-03-08 20:48:56 -04:00
easyaspi314 (Devin)
a0b7df7c03 [BUGFIX] Manually align XXH_malloc to 64 bytes.
Thanks to @RedSpah for finding this bug!

XXH3_state_t is manually 64-byte aligned on the stack, but not manually
aligned when dynamically allocated.

This caused an issue with where the state was assumed to be aligned
and it caused a segmentation fault.

Now, instead of somewhat pointlessly wrapping malloc and free, we write
a portable routine that overallocates and manually aligns the pointer
to 64 bytes.

There is no point in using posix_memalign or _mm_malloc when our
portability requirements would require this fallback anyways.
2020-03-08 20:37:35 -04:00
Yann Collet
dca6be339b bless xxh3 format as release candidate 2020-03-05 22:37:57 -08:00
Yann Collet
ff5df558b7 changed xxhash.com links to https 2020-03-04 18:36:13 -08:00
Yann Collet
d9095f00f8 Merge branch 'xxh128v18' into dev 2020-03-04 16:42:57 -08:00
Yann Collet
88680827e4 added unicode mention in changelog 2020-03-04 16:42:28 -08:00
Yann Collet
24b8aea800
Merge pull request #325 from Cyan4973/xxh128v18
[xxh128] last quality updates
2020-03-04 15:20:11 -08:00
Yann Collet
aac98c3d4f add : xxh3 len==8 100G collision test result 2020-03-04 14:28:12 -08:00
Yann Collet
d685a4e3d6 updated xxhsum verif values
for xxh128
2020-03-04 12:32:18 -08:00
Yann Collet
64b548367d mention new pkg-config by @bket 2020-03-04 12:28:35 -08:00
Yann Collet
08792b56ba Merge branch 'dev' into xxh128v18 2020-03-04 12:27:35 -08:00
Yann Collet
35e3e5009f
Merge pull request #324 from bket/pkgconfig
Add pkg-config (.pc) file
2020-03-04 12:26:50 -08:00
Yann Collet
361eb01a8e [xxh128] improved MC2 result for 32-bit input 2020-03-04 12:22:06 -08:00
Björn Ketelaars
21b6d517a8 Add pkg-config (.pc) file 2020-03-04 21:08:35 +01:00
Yann Collet
d9152c1cff updated xxh128
pass the last test (2 collisions detected when restricting output to low 64-bit)

Also : minor update to `collisionsTest` examples
2020-03-04 09:59:08 -08:00
Yann Collet
3bcdfa8f09
Merge pull request #323 from easyaspi314/unicode-fix-v2
Switch stdout/stderr to UTF-8 on Windows
2020-03-04 08:43:35 -08:00
easyaspi314 (Devin)
e516a04f58 Use better wording on Windows wrapper comments
Remove useless "useless" comments (aside from main, that one has a
meaning) and elaborate on fprintf/fwprintf issue.
2020-03-03 22:08:12 -05:00
easyaspi314 (Devin)
4b7cc243e7 Merge branch 'dev' of https://github.com/Cyan4973/xxHash into unicode-fix-v2 2020-03-03 22:07:12 -05:00
Yann Collet
d6a041699f
Merge pull request #322 from easyaspi314/autovec-fix-v2
Autovectorization in-source quickfixes
2020-03-03 18:41:27 -08:00