Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
336 commits
Select commit Hold shift + click to select a range
70a4cc6
Merge pull request #633 from iburinoc/isatty
Cyan4973 Mar 27, 2017
32ef985
Merge pull request #631 from facebook/LegacyDictBuilder
Cyan4973 Mar 27, 2017
57458d4
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 Mar 27, 2017
4708394
Remove extra 'F' from skippable magic mask
sean-purcell Mar 29, 2017
5bde4be
fix : bench automatically adapts parameters to srcSize
Cyan4973 Mar 29, 2017
dae3be8
Merge pull request #635 from iburinoc/skipmagic
Cyan4973 Mar 29, 2017
fcc55cc
Build windows releases on appveyor as artifacts
sean-purcell Mar 29, 2017
933ce4a
fix : minmatch 7 conversion
Cyan4973 Mar 29, 2017
dd79c5c
Make pzstd and cmake use gcc/g++
sean-purcell Mar 29, 2017
26769d8
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 Mar 29, 2017
2e2e78d
removed unnecessary restriction on minmatchLength
Cyan4973 Mar 29, 2017
0ef6803
added ZSTD_getFrameContentSize() to ZSTDMT unit test in fuzzer
Cyan4973 Mar 29, 2017
e8e1e13
Merge pull request #636 from iburinoc/appveyor
Cyan4973 Mar 30, 2017
1e1e26f
fixed #634 : ZSTDMT_compressCCtx() doesn't provide frame content size…
Cyan4973 Mar 30, 2017
ca5a8bb
re-added patch ...
Cyan4973 Mar 30, 2017
5152fb2
Convert all tabs to spaces
terrelln Mar 30, 2017
2bcefcc
fixed Visual Studio projects
Cyan4973 Mar 30, 2017
3d58a1f
fixed Visual fuzzer project
Cyan4973 Mar 30, 2017
b6f9303
Merge pull request #638 from terrelln/tabs
Cyan4973 Mar 30, 2017
6851db4
created contrib/cleanTabs
Cyan4973 Mar 30, 2017
274f599
Changed memory strategy to __packed for gcc
Cyan4973 Mar 30, 2017
6476c51
Merge pull request #637 from facebook/zstdmt
Cyan4973 Mar 30, 2017
0fcb5d7
Build windows releases on appveyor as artifacts
sean-purcell Mar 29, 2017
137efc0
Make pzstd and cmake use gcc/g++
sean-purcell Mar 29, 2017
b1c6bb8
Copy files into contrib/linux-kernel/
terrelln Mar 30, 2017
78063ca
spaces to tabs
terrelln Mar 30, 2017
1075c12
Convert all spaces to tabs
terrelln Mar 30, 2017
b3b41d0
Remove platform specific macros
terrelln Mar 30, 2017
be7da5d
Change stdlib includes to linux includes
terrelln Mar 30, 2017
6ce5889
Use <asm/unaligned.h> for unaligned memory access
terrelln Mar 30, 2017
e48b135
Remove STATIC_LINKING_ONLY defines
terrelln Mar 30, 2017
458e955
improved ZSTDMT_compress()
Cyan4973 Mar 30, 2017
34cc487
overlap at full windowSize for max compression level
Cyan4973 Mar 30, 2017
eea7858
fixed minor warnings in debug code
Cyan4973 Mar 30, 2017
96fe545
Turn off sparse mode for OS X by default
terrelln Mar 31, 2017
eb38617
Clean up default sparse logic
terrelln Mar 31, 2017
14433ca
numerous typos and clarifications in format specification
Cyan4973 Mar 31, 2017
53203e7
Merge pull request #640 from facebook/memAccess
Cyan4973 Mar 31, 2017
a935d67
minor typo fixes in specification
Cyan4973 Mar 31, 2017
596ee42
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 Mar 31, 2017
271bff6
Merge pull request #642 from terrelln/no-sparse
Cyan4973 Mar 31, 2017
d11c7bf
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 Mar 31, 2017
7b70a19
Merge branch 'dev' into zstdmt
Cyan4973 Mar 31, 2017
3f75d52
Changed ZSTD_compressBound()
Cyan4973 Apr 1, 2017
21b6c53
Working on API
terrelln Mar 31, 2017
30c7698
optimize ZSTDMT_compress() memory usage
Cyan4973 Apr 1, 2017
805c5a3
updated documentation on multithreading modes
Cyan4973 Apr 1, 2017
a36330a
minor man update, for `overlapSize`
Cyan4973 Apr 3, 2017
59aadc8
Preallocate workSpace for cctx and combine create and init for cstream
terrelln Apr 3, 2017
87cec8f
Fix compilation errors
terrelln Apr 3, 2017
40a78a7
Merge pull request #643 from facebook/zstdmt
Cyan4973 Apr 4, 2017
62ecad3
Fix ZSTD_initCStream_usingCDict() to use dictionary
terrelln Apr 4, 2017
39a6cc5
Make ZSTD_compress_usingCDict() respect contentSizeFlag
terrelln Apr 4, 2017
26b046a
Remove unnecessary dictID store
terrelln Apr 4, 2017
ac11607
Merge pull request #645 from terrelln/cdict
Cyan4973 Apr 4, 2017
33fc0ad
Fix ZSTD_createCStream_usingCDict() and ZSTD_compress_usingCDict()
terrelln Apr 4, 2017
79298bf
Add userland test with mock kernel headers
terrelln Apr 4, 2017
b5e3e3c
Add zstd kernel module Makefile
terrelln Apr 4, 2017
7cf78f1
Protects ZSTD_compressBegin_usingCDict() vs NULL cdict dereference
Cyan4973 Apr 4, 2017
b1b582b
Add module macros
terrelln Apr 4, 2017
b065072
Test module macros
terrelln Apr 4, 2017
81d6380
minor bench.c adjustments
Cyan4973 Apr 4, 2017
c200738
fixed bench.c : optional advanced parameters applied
Cyan4973 Apr 4, 2017
6758392
Move zstd.h to linux/zstd.h
terrelln Apr 4, 2017
0888251
Switch intptr_t to ptrdiff_t
terrelln Apr 4, 2017
9c257dc
Fix up xxhash
terrelln Apr 4, 2017
dd62829
Remove more restrict
terrelln Apr 4, 2017
16a739c
Switch call of FSE_count() to FSE_count_wksp()
terrelln Apr 4, 2017
1af700e
Remove unused FSE/HUF functions
terrelln Apr 4, 2017
fd95be0
Move sources to lib/zstd/
terrelln Apr 4, 2017
2724f25
fixed paramgrill -O#
Cyan4973 Apr 4, 2017
405d2a1
Explicitly convert scratchBuffer to unsigned*
terrelln Apr 4, 2017
2eb623a
Explicitly convert scratchBuffer to unsigned*
terrelln Apr 4, 2017
89b32f3
fix paramgrill -O#
Cyan4973 Apr 4, 2017
9631e60
paramgrill : results from optimizer use cli format
Cyan4973 Apr 4, 2017
d0bbcea
Add fs/btrfs/zstd.c
terrelln Apr 4, 2017
5859101
Move Makefile to lib/zstd
terrelln Apr 5, 2017
2e4dbd2
Really move the makefile
terrelln Apr 5, 2017
c53bacc
Fix up some old names
terrelln Apr 5, 2017
1b38564
Undef current if defined
terrelln Apr 5, 2017
bb21379
Rename zstd_(de)compress.c to (de)compress.c
terrelln Apr 5, 2017
60b34b0
fix gitignore
terrelln Apr 5, 2017
d6166ef
Merge pull request #646 from terrelln/dev
Cyan4973 Apr 5, 2017
7f510a7
Add Kconfig and Makefile diffs
terrelln Apr 5, 2017
97693af
Add a README
terrelln Apr 5, 2017
9c7371b
Improve comments and ordering
terrelln Apr 5, 2017
b5b79b3
Merge pull request #647 from terrelln/linux
Cyan4973 Apr 5, 2017
02d37aa
ensure correct size of internal buffers in case of error
Cyan4973 Apr 5, 2017
003a244
DStream : ensure correct size of internal buffers in case of error
Cyan4973 Apr 5, 2017
ce80098
improved zstreamtest --mt to trap bug #644
Cyan4973 Apr 5, 2017
36c2a03
updated comments for ZSTD_resetCStream()
Cyan4973 Apr 6, 2017
0181fef
ensure cctx internal buffer is correctly sized in case of memory error
Cyan4973 Apr 6, 2017
e128ac0
Don't build zstd release binary with debug symbols
sean-purcell Apr 6, 2017
17c12cb
Push both artifacts without debug symbols
sean-purcell Apr 6, 2017
279be20
Let zstd overwrite read-only files
sean-purcell Apr 6, 2017
9da11c6
Add test for overwriting read-only
sean-purcell Apr 6, 2017
8fd8772
Merge pull request #649 from iburinoc/win-release
Cyan4973 Apr 6, 2017
1652172
Add refuse to overwrite test and fix format
sean-purcell Apr 7, 2017
97b23a9
Merge pull request #650 from iburinoc/ro-overwrite
Cyan4973 Apr 7, 2017
1fa3b75
Merge pull request #648 from facebook/zstdmt
Cyan4973 Apr 7, 2017
bed6c0a
Remove ZSTDLIB_API from decompress.c
terrelln Apr 10, 2017
adb1974
Switch comments to kernel style + limit to 80 cols
terrelln Apr 10, 2017
4b987ad
Introduce ZSTD_initCStream_internal()
Cyan4973 Apr 11, 2017
e88034f
simplified ZSTD_initCStream*() flow
Cyan4973 Apr 11, 2017
ab9162e
simplified call graph
Cyan4973 Apr 11, 2017
b4dd337
Add BtrFS patch for 4.10 kernel
terrelln Apr 11, 2017
4ee6b15
force contentSizeFlag=0 when using ZSTD_initCStream_usingCDict()
Cyan4973 Apr 11, 2017
b633377
Add BtrFS benchmarks
terrelln Apr 11, 2017
1f72b07
Merge pull request #653 from terrelln/dev
Cyan4973 Apr 11, 2017
0e30059
cli : FIO_createDictBuffer() replaces FIO_loadFile()
Cyan4973 Apr 11, 2017
324c2cd
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 Apr 11, 2017
5c42d0e
cli : better status display for zstdmt in 1-thread mode
Cyan4973 Apr 11, 2017
eb70d21
Add test of file > 4GB to playTests
sean-purcell Apr 12, 2017
d37e1df
Fix message
sean-purcell Apr 12, 2017
6ab02e1
Merge branch 'dev' into compressionFlow
Cyan4973 Apr 12, 2017
20d5e03
content size is controlled at bufferless level
Cyan4973 Apr 12, 2017
88009a8
removed srcSize control from CStream
Cyan4973 Apr 12, 2017
7ab008c
Merge pull request #655 from iburinoc/large-data
Cyan4973 Apr 12, 2017
afa4851
-T0 detects number of physical cores
sean-purcell Apr 13, 2017
f876f12
Fix compilation on macOS
sean-purcell Apr 13, 2017
3b6207d
Fix compilation on windows
sean-purcell Apr 13, 2017
9227aae
Fix clang linux compilation
sean-purcell Apr 13, 2017
ad8da88
Make appveyor small tests use new mingw as well
sean-purcell Apr 13, 2017
42bac7f
Change ifndef's to undef's
sean-purcell Apr 13, 2017
e4f3235
Add 0 initializers to static variables
sean-purcell Apr 13, 2017
95bb8ff
Merge pull request #657 from iburinoc/appveyor
Cyan4973 Apr 13, 2017
d68ed73
Merge pull request #656 from iburinoc/core-count
Cyan4973 Apr 14, 2017
f913cbe
fixed : memory leak in fuzzer test
Cyan4973 Apr 14, 2017
2afb075
Merge branch 'dev' into compressionFlow
Cyan4973 Apr 14, 2017
7dd14d0
Enable multithreading on BSD
bapt Apr 15, 2017
ce1cf86
Merge pull request #659 from bapt/bsd-multithread
Cyan4973 Apr 17, 2017
c424ec2
Add multithreading tests to playTests.sh
sean-purcell Apr 17, 2017
5a61f36
Make zstd compile with mt by default
sean-purcell Apr 14, 2017
d845dab
Fix input size too small to trigger zstdmt
sean-purcell Apr 17, 2017
f6ef4db
Install zstdmt even without threading support
sean-purcell Apr 17, 2017
415cb68
Merge branch 'dev' into compressionFlow
Cyan4973 Apr 17, 2017
a9e92be
Merge pull request #661 from iburinoc/zstdmt-default
Cyan4973 Apr 17, 2017
f0c9437
Merge branch 'dev' into compressionFlow
Cyan4973 Apr 17, 2017
5935c99
Add zstdmt and -T0 to man page
sean-purcell Apr 17, 2017
c47c68f
proper evaluation of Huffman CTable size
Cyan4973 Apr 17, 2017
ba14b38
Merge pull request #660 from iburinoc/zstdmt-test
Cyan4973 Apr 17, 2017
9c4c970
Merge branch 'dev' into compressionFlow
Cyan4973 Apr 17, 2017
e6c504d
Update -T0 comment in man page
sean-purcell Apr 18, 2017
c8b2df7
Compile CLI using files instead of objs
sean-purcell Apr 18, 2017
4f81818
clarified frame parameters for ZSTD_compress*_usingCDict()
Cyan4973 Apr 18, 2017
478ea2b
Merge pull request #662 from iburinoc/man-mt
Cyan4973 Apr 18, 2017
1c28695
Merge pull request #663 from iburinoc/zstdmt-default
Cyan4973 Apr 18, 2017
af4f45b
Improved code comments for block functions
Cyan4973 Apr 18, 2017
291f0cb
Merge branch 'dev' into compressionFlow
Cyan4973 Apr 18, 2017
9606256
Fix no thread message
sean-purcell Apr 18, 2017
715b9aa
created ZSTD_compressBegin_usingCDict_advanced()
Cyan4973 Apr 18, 2017
1be9217
Merge pull request #665 from iburinoc/fixmsg
Cyan4973 Apr 18, 2017
30fb499
Changed ZSTD_resetCCtx_advanced() into ZSTD_resetCCtx_internal()
Cyan4973 Apr 18, 2017
ca6fae7
Add MT enabled targets for libzstd
sean-purcell Apr 18, 2017
b402f1e
added make list
Cyan4973 Apr 18, 2017
a4cab80
added ZSTD_copyCCtx_internal()
Cyan4973 Apr 18, 2017
0bb381d
added test for ZSTD_initCStream_advanced()
Cyan4973 Apr 18, 2017
98cf7fc
Update README
sean-purcell Apr 19, 2017
2c5514c
fixed ZSTDMT_initCStream_advanced()
Cyan4973 Apr 19, 2017
987cc95
Merge pull request #666 from iburinoc/zstdmt-default
Cyan4973 Apr 19, 2017
e847730
slightly refined README comments on lib-mt
Cyan4973 Apr 19, 2017
522df42
Add lzma and zlib support to cmake build system
Apr 19, 2017
fce2177
Copy files during build phase, custom targets instead of commands
Apr 19, 2017
cba4e79
Create and install pkg-config file with cmake
Apr 19, 2017
f49f760
Test new cmake branches with Circle CI
Apr 19, 2017
eb7371f
Change all SET_TARGET_PROPERTIES to SET_PROPERTY
Apr 19, 2017
96e3a9c
Merge pull request #668 from Majlen/cmake-improvement
Cyan4973 Apr 19, 2017
e348dad
minor long line reformatting
Cyan4973 Apr 20, 2017
16f9c57
Merge branch 'dev' into compressionFlow
Cyan4973 Apr 20, 2017
c73b762
Merge pull request #658 from facebook/compressionFlow
Cyan4973 Apr 20, 2017
c17e020
disable assert when compiling paramgrill
Cyan4973 Apr 20, 2017
1a96bec
CMake: Set ZSTD_SOURCE_DIR from CMAKE_CURRENT_SOURCE_DIR
ligfx Apr 20, 2017
e6fa70a
reorganized ZSTD_resetCCtx_internal()
Cyan4973 Apr 21, 2017
7bb60b1
init entropy table pointers only once
Cyan4973 Apr 21, 2017
a34a39c
changed size evaluation of entropy tables
Cyan4973 Apr 21, 2017
7f1fb95
CMake: namespace modules and set CMAKE_MODULE_PATH
ligfx Apr 20, 2017
554a13d
CMake: various configure_file fixes to use CMAKE_CURRENT_SOURCE_DIR
ligfx Apr 20, 2017
377401f
CMake: don't recheck compile flags every time
ligfx Apr 20, 2017
9eda436
CMake: don't modify global C_FLAGS and CXX_FLAGS
ligfx Apr 20, 2017
71ddeb6
made room in workspace for FSE tables
Cyan4973 Apr 21, 2017
71aaa32
transferred FSE tables from CCtx into workspace
Cyan4973 Apr 21, 2017
a408645
made some room for entropy scratch space
Cyan4973 Apr 21, 2017
7271203
transferred entropy scratch space from CCtx into workSpace
Cyan4973 Apr 21, 2017
d709658
Merge pull request #669 from ligfx/friendlycmake
Cyan4973 Apr 21, 2017
d0b1846
ignore more cmake build artefacts
Cyan4973 Apr 21, 2017
230d7ac
cli : add support for --threads=# command
Cyan4973 Apr 21, 2017
4de8632
Add LZ4 compress/decompress support to CLI
sean-purcell Apr 24, 2017
2c4b6fe
Make lz4 compression/decompression compatible with library r123
sean-purcell Apr 25, 2017
65e2cda
unchecked argv[idx] access
niXman Apr 26, 2017
9a7698c
Merge pull request #673 from iburinoc/lz4
Cyan4973 Apr 26, 2017
5129a5d
Merge pull request #674 from niXman/dev
Cyan4973 Apr 26, 2017
eab41c1
Fix LZ4 wrapper deprecation warnings
sean-purcell Apr 26, 2017
e42afbc
Comply with suggested comments by @terrelln
Cyan4973 Apr 26, 2017
5087c17
Rename ZSTD_create*() to ZSTD_init*()
terrelln Apr 26, 2017
39e67bd
Merge pull request #675 from iburinoc/lz4
Cyan4973 Apr 26, 2017
97cbdca
Merge pull request #670 from facebook/smallCCtx
Cyan4973 Apr 26, 2017
768df12
changed ZSTD_compressBegin_usingCDict()
Cyan4973 Apr 26, 2017
31533ba
Changed ZSTD_createCDict_advanced()
Cyan4973 Apr 27, 2017
69a54d1
fixed compilation warning : declaration-after-statement
Cyan4973 Apr 27, 2017
0bd5d25
[pzstd] Add logging statements to tests
terrelln Apr 27, 2017
f4bd857
created ZSTD_compress_usingCDict_advanced()
Cyan4973 Apr 27, 2017
77bf59e
added ZSTD_initCStream_usingCDict_advanced()
Cyan4973 Apr 27, 2017
89df466
Merge pull request #677 from terrelln/pzstd-tests
Cyan4973 Apr 27, 2017
5a80445
updated NEWS
Cyan4973 Apr 27, 2017
8b66953
bumped version number to v1.2.0
Cyan4973 Apr 27, 2017
1c3ab0c
fixed init error on Visual 2008
Cyan4973 Apr 27, 2017
7321345
fixed another VS2008 init error
Cyan4973 Apr 27, 2017
d3694e6
removed C4204
Cyan4973 Apr 27, 2017
2f73427
added test for ZSTD_compress_usingCDict_advanced()
Cyan4973 Apr 27, 2017
7d283cd
added test for ZSTD_initCStream_usingCDict_advanced()
Cyan4973 Apr 27, 2017
32c658a
SquashFS linux kernel patch
sean-purcell Apr 27, 2017
a92cbb7
Added a secondary test, checking dictID presence after setting noDict…
Cyan4973 Apr 27, 2017
c691542
shortened Appveyor release tests
Cyan4973 Apr 27, 2017
aca3926
Merge pull request #679 from terrelln/dev
Cyan4973 Apr 27, 2017
eeeb201
Fix case where pages run out before end of stream
sean-purcell Apr 27, 2017
c7e1071
Fix missing squashfs_finish_page's
sean-purcell Apr 28, 2017
36e79a1
tests : -g is part of DEBUGFLAGS
Cyan4973 Apr 28, 2017
b636133
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 Apr 28, 2017
29297c6
Changed default level 18 (large input)
Cyan4973 Apr 28, 2017
7bd68e1
minor release note update
Cyan4973 Apr 28, 2017
a51cab6
Merge pull request #678 from facebook/apiChange
Cyan4973 Apr 28, 2017
ccc0b0e
Merge pull request #680 from iburinoc/sqfs-kernel
Cyan4973 Apr 28, 2017
68a7d3d
added HUF_PUBLIC_API macro to huf.h
Cyan4973 Apr 28, 2017
89f50de
minor code refactoring
Cyan4973 Apr 28, 2017
202082f
sync bitstream from FSE project
Cyan4973 Apr 28, 2017
667bd97
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 Apr 29, 2017
f39a673
sync bitstream.h from fse library
Cyan4973 May 1, 2017
33c38b0
fixed const in prototype, that Visual doesn't accept
Cyan4973 May 1, 2017
b184589
minor code refactoring for clarity
Cyan4973 May 1, 2017
feba969
Fix LZ4_MSG in xzstd
terrelln May 1, 2017
865918d
Fix typo in zdict.h
terrelln May 1, 2017
f2d9ef1
[cover] Optimize case where d <= 8
terrelln May 1, 2017
020b960
[cover] Make optimization faster
terrelln May 2, 2017
f376d47
[CLI] Switch dictionary builder on CLI to cover
terrelln May 2, 2017
072484a
Merge pull request #683 from terrelln/odev
Cyan4973 May 2, 2017
606c04c
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 May 2, 2017
7aada3c
updated NEWS for v1.2.0
Cyan4973 May 2, 2017
79a85e1
[btrfs] Update patch to use ZSTD_init{C,D}Stream()
terrelln May 2, 2017
99972fa
[btrfs] Fix typo in pr_warn() message
terrelln May 2, 2017
8a9e30d
Merge pull request #684 from terrelln/btrfs-init
Cyan4973 May 2, 2017
01a7173
updated DSpeed chart to remove 3D effect (#589)
Cyan4973 May 2, 2017
705de8e
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 May 2, 2017
2e63a87
fixed xzstd
Cyan4973 May 2, 2017
3791d21
added xzstd4 target
Cyan4973 May 2, 2017
f47284f
reorganized Makefile for multiple targets
Cyan4973 May 2, 2017
710497d
updated programs/README.md, to introduce compilation variables
Cyan4973 May 3, 2017
cf4f940
[kernel] Update README with SquashFS patch
terrelln May 3, 2017
ddcffbf
Merge pull request #685 from terrelln/squashfs-bench
Cyan4973 May 3, 2017
c08e568
updated dict graphs to 2D mode
Cyan4973 May 3, 2017
b668bad
Merge branch 'dev' of github.com:facebook/zstd into dev
Cyan4973 May 3, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ zstdmt
tmp*
dictionary*

# Build artefacts
projects/
bin/
.buckd/
buck-out/

# Other files
.directory
_codelite/
Expand All @@ -34,8 +40,3 @@ _zstdbench/
.DS_Store
googletest/
*.d

# Directories
bin/
.buckd/
buck-out/
32 changes: 21 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ examples:
manual:
$(MAKE) -C contrib/gen_html $@

.PHONY: cleanTabs
cleanTabs:
cd contrib; ./cleanTabs

.PHONY: clean
clean:
@$(MAKE) -C $(ZSTDDIR) $@ > $(VOID)
Expand All @@ -105,9 +109,15 @@ clean:
# make install is validated only for Linux, OSX, Hurd and some BSD targets
#------------------------------------------------------------------------------
ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly NetBSD))

HOST_OS = POSIX
.PHONY: install uninstall travis-install clangtest gpptest armtest usan asan uasan
CMAKE_PARAMS = -DZSTD_BUILD_CONTRIB:BOOL=ON -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON -DZSTD_ZLIB_SUPPORT:BOOL=ON -DZSTD_LZMA_SUPPORT:BOOL=ON

.PHONY: list
list:
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | xargs

.PHONY: install uninstall travis-install clangtest gpptest armtest usan asan uasan
install:
@$(MAKE) -C $(ZSTDDIR) $@
@$(MAKE) -C $(PRGDIR) $@
Expand Down Expand Up @@ -152,16 +162,16 @@ ppc64build: clean
CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) allarch

armfuzz: clean
CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static" $(MAKE) -C $(TESTDIR) fuzztest
CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest

aarch64fuzz: clean
CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static MOREFLAGS="-static" $(MAKE) -C $(TESTDIR) fuzztest
CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest

ppcfuzz: clean
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static MOREFLAGS="-static" $(MAKE) -C $(TESTDIR) fuzztest
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static MOREFLAGS="-static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest

ppc64fuzz: clean
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static MOREFLAGS="-m64 -static" $(MAKE) -C $(TESTDIR) fuzztest
CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static MOREFLAGS="-m64 -static" FUZZER_FLAGS=--no-big-tests $(MAKE) -C $(TESTDIR) fuzztest

gpptest: clean
CC=g++ $(MAKE) -C $(PRGDIR) all CFLAGS="-O3 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Werror"
Expand All @@ -180,19 +190,19 @@ clangtest: clean

armtest: clean
$(MAKE) -C $(TESTDIR) datagen # use native, faster
$(MAKE) -C $(TESTDIR) test CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
$(MAKE) -C $(TESTDIR) test CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static" FUZZER_FLAGS=--no-big-tests

aarch64test:
$(MAKE) -C $(TESTDIR) datagen # use native, faster
$(MAKE) -C $(TESTDIR) test CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
$(MAKE) -C $(TESTDIR) test CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static ZSTDRTTEST= MOREFLAGS="-Werror -static" FUZZER_FLAGS=--no-big-tests

ppctest: clean
$(MAKE) -C $(TESTDIR) datagen # use native, faster
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static"
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static" FUZZER_FLAGS=--no-big-tests

ppc64test: clean
$(MAKE) -C $(TESTDIR) datagen # use native, faster
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static"
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static ZSTDRTTEST= MOREFLAGS="-m64 -static" FUZZER_FLAGS=--no-big-tests

arm-ppc-compilation:
$(MAKE) -C $(PRGDIR) clean zstd CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static ZSTDRTTEST= MOREFLAGS="-Werror -static"
Expand Down Expand Up @@ -263,7 +273,7 @@ endif

ifneq (,$(filter MSYS%,$(shell uname)))
HOST_OS = MSYS
CMAKE_PARAMS = -G"MSYS Makefiles"
CMAKE_PARAMS = -G"MSYS Makefiles" -DZSTD_MULTITHREAD_SUPPORT:BOOL=OFF -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON
endif


Expand All @@ -275,7 +285,7 @@ cmakebuild:
cmake --version
$(RM) -r $(BUILDIR)/cmake/build
mkdir $(BUILDIR)/cmake/build
cd $(BUILDIR)/cmake/build ; cmake -DPREFIX:STRING=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall
cd $(BUILDIR)/cmake/build ; cmake -DCMAKE_INSTALL_PREFIX:PATH=~/install_test_dir $(CMAKE_PARAMS) .. ; $(MAKE) install ; $(MAKE) uninstall

c90build: clean
gcc -v
Expand Down
32 changes: 27 additions & 5 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,17 +1,39 @@
v1.2.0
cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
cli : new : zstdmt symlink hardwired to `zstd -T0`
cli : new : command --threads=# (#671)
cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
cli : fix : does not output compressed data on console
cli : fix : ignore symbolic links unless --force specified,
API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
API : improved: ZSTDMT_compressCCtx() reduced memory usage
API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
API : fix : src size stored in frame header is controlled at end of frame
API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
build: improved cmake script, by @Majlen
build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
new : contrib/linux-kernel version, by Nick Terrell

v1.1.4
cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
cli : new : advanced benchmark command --priority=rt
cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
cli : fix : --rm remains silent when input is stdin
cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
memory : DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
arch : 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
build: new: meson build system in contrib/meson, by Dima Krasner
build: improved cmake script, by @Majlen
build: added -Wformat-security flag, as recommended by Padraig Brady
build : new: meson build system in contrib/meson, by Dima Krasner
build : improved cmake script, by @Majlen
build : added -Wformat-security flag, as recommended by Padraig Brady
doc : new : educational decoder, by Sean Purcell

v1.1.3
Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ you can consult a list of known ports on [Zstandard homepage](http://www.zstd.ne
|dev | [![Build Status](https://travis-ci.org/facebook/zstd.svg?branch=dev)](https://travis-ci.org/facebook/zstd) |

As a reference, several fast compression algorithms were tested and compared
on a server running Linux Mint Debian Edition (`Linux version 4.8.0-1-amd64`),
on a server running Linux Debian (`Linux version 4.8.0-1-amd64`),
with a Core i7-6700K CPU @ 4.0GHz,
using [lzbench v1.6], an open-source in-memory benchmark by @inikep
using [lzbench], an open-source in-memory benchmark by @inikep
compiled with GCC 6.3.0,
on the [Silesia compression corpus].

[lzbench v1.6]: https://github.com/inikep/lzbench
[lzbench]: https://github.com/inikep/lzbench
[Silesia compression corpus]: http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia

| Compressor name | Ratio | Compression| Decompress.|
Expand All @@ -38,7 +38,12 @@ on the [Silesia compression corpus].
Zstd can also offer stronger compression ratios at the cost of compression speed.
Speed vs Compression trade-off is configurable by small increments. Decompression speed is preserved and remains roughly the same at all settings, a property shared by most LZ compression algorithms, such as [zlib] or lzma.

The following tests were run on a Core i7-3930K CPU @ 4.5GHz, using [lzbench], an open-source in-memory benchmark by @inikep compiled with GCC 5.2.1, on the [Silesia compression corpus].
The following tests were run
on a server running Linux Debian (`Linux version 4.8.0-1-amd64`)
with a Core i7-6700K CPU @ 4.0GHz,
using [lzbench], an open-source in-memory benchmark by @inikep
compiled with GCC 6.3.0,
on the [Silesia compression corpus].

Compression Speed vs Ratio | Decompression Speed
---------------------------|--------------------
Expand Down
Loading