Skip to content

Commit da0c157

Browse files
authored
Merge pull request #686 from facebook/dev
v1.2.0
2 parents 39d0c6c + b668bad commit da0c157

File tree

132 files changed

+19933
-2482
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+19933
-2482
lines changed

.gitignore

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ zstdmt
2424
tmp*
2525
dictionary*
2626

27+
# Build artefacts
28+
projects/
29+
bin/
30+
.buckd/
31+
buck-out/
32+
2733
# Other files
2834
.directory
2935
_codelite/
@@ -34,8 +40,3 @@ _zstdbench/
3440
.DS_Store
3541
googletest/
3642
*.d
37-
38-
# Directories
39-
bin/
40-
.buckd/
41-
buck-out/

Makefile

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ examples:
9090
manual:
9191
$(MAKE) -C contrib/gen_html $@
9292

93+
.PHONY: cleanTabs
94+
cleanTabs:
95+
cd contrib; ./cleanTabs
96+
9397
.PHONY: clean
9498
clean:
9599
@$(MAKE) -C $(ZSTDDIR) $@ > $(VOID)
@@ -105,9 +109,15 @@ clean:
105109
# make install is validated only for Linux, OSX, Hurd and some BSD targets
106110
#------------------------------------------------------------------------------
107111
ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU FreeBSD DragonFly NetBSD))
112+
108113
HOST_OS = POSIX
109-
.PHONY: install uninstall travis-install clangtest gpptest armtest usan asan uasan
114+
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
110115

116+
.PHONY: list
117+
list:
118+
@$(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
119+
120+
.PHONY: install uninstall travis-install clangtest gpptest armtest usan asan uasan
111121
install:
112122
@$(MAKE) -C $(ZSTDDIR) $@
113123
@$(MAKE) -C $(PRGDIR) $@
@@ -152,16 +162,16 @@ ppc64build: clean
152162
CC=powerpc-linux-gnu-gcc CFLAGS="-m64 -Werror" $(MAKE) allarch
153163

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

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

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

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

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

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

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

189199
ppctest: clean
190200
$(MAKE) -C $(TESTDIR) datagen # use native, faster
191-
$(MAKE) -C $(TESTDIR) test CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static ZSTDRTTEST= MOREFLAGS="-Werror -Wno-attributes -static"
201+
$(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
192202

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

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

264274
ifneq (,$(filter MSYS%,$(shell uname)))
265275
HOST_OS = MSYS
266-
CMAKE_PARAMS = -G"MSYS Makefiles"
276+
CMAKE_PARAMS = -G"MSYS Makefiles" -DZSTD_MULTITHREAD_SUPPORT:BOOL=OFF -DZSTD_BUILD_STATIC:BOOL=ON -DZSTD_BUILD_TESTS:BOOL=ON
267277
endif
268278

269279

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

280290
c90build: clean
281291
gcc -v

NEWS

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,39 @@
1+
v1.2.0
2+
cli : changed : Multithreading enabled by default (use target zstd-nomt or HAVE_THREAD=0 to disable)
3+
cli : new : command -T0 means "detect and use nb of cores", by Sean Purcell
4+
cli : new : zstdmt symlink hardwired to `zstd -T0`
5+
cli : new : command --threads=# (#671)
6+
cli : changed : cover dictionary builder by default, for improved quality, by Nick Terrell
7+
cli : new : commands --train-cover and --train-legacy, to select dictionary algorithm and parameters
8+
cli : experimental targets `zstd4` and `xzstd4`, with support for lz4 format, by Sean Purcell
9+
cli : fix : does not output compressed data on console
10+
cli : fix : ignore symbolic links unless --force specified,
11+
API : breaking change : ZSTD_createCDict_advanced(), only use compressionParameters as argument
12+
API : added : prototypes ZSTD_*_usingCDict_advanced(), for direct control over frameParameters.
13+
API : improved: ZSTDMT_compressCCtx() reduced memory usage
14+
API : fix : ZSTDMT_compressCCtx() now provides srcSize in header (#634)
15+
API : fix : src size stored in frame header is controlled at end of frame
16+
API : fix : enforced consistent rules for pledgedSrcSize==0 (#641)
17+
API : fix : error code "GENERIC" replaced by "dstSizeTooSmall" when appropriate
18+
build: improved cmake script, by @Majlen
19+
build: enabled Multi-threading support for *BSD, by Baptiste Daroussin
20+
tools: updated Paramgrill. Command -O# provides best parameters for sample and speed target.
21+
new : contrib/linux-kernel version, by Nick Terrell
22+
123
v1.1.4
224
cli : new : can compress in *.gz format, using --format=gzip command, by Przemyslaw Skibinski
325
cli : new : advanced benchmark command --priority=rt
426
cli : fix : write on sparse-enabled file systems in 32-bits mode, by @ds77
527
cli : fix : --rm remains silent when input is stdin
628
cli : experimental : xzstd, with support for xz/lzma decoding, by Przemyslaw Skibinski
729
speed : improved decompression speed in streaming mode for single shot scenarios (+5%)
8-
memory : DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
9-
arch : 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
30+
memory: DDict (decompression dictionary) memory usage down from 150 KB to 20 KB
31+
arch: 32-bits variant able to generate and decode very long matches (>32 MB), by Sean Purcell
1032
API : new : ZSTD_findFrameCompressedSize(), ZSTD_getFrameContentSize(), ZSTD_findDecompressedSize()
1133
API : changed : dropped support of legacy versions <= v0.3 (can be changed by modifying ZSTD_LEGACY_SUPPORT value)
12-
build: new: meson build system in contrib/meson, by Dima Krasner
13-
build: improved cmake script, by @Majlen
14-
build: added -Wformat-security flag, as recommended by Padraig Brady
34+
build : new: meson build system in contrib/meson, by Dima Krasner
35+
build : improved cmake script, by @Majlen
36+
build : added -Wformat-security flag, as recommended by Padraig Brady
1537
doc : new : educational decoder, by Sean Purcell
1638

1739
v1.1.3

README.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ you can consult a list of known ports on [Zstandard homepage](http://www.zstd.ne
1212
|dev | [![Build Status](https://travis-ci.org/facebook/zstd.svg?branch=dev)](https://travis-ci.org/facebook/zstd) |
1313

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

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

2424
| Compressor name | Ratio | Compression| Decompress.|
@@ -38,7 +38,12 @@ on the [Silesia compression corpus].
3838
Zstd can also offer stronger compression ratios at the cost of compression speed.
3939
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.
4040

41-
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].
41+
The following tests were run
42+
on a server running Linux Debian (`Linux version 4.8.0-1-amd64`)
43+
with a Core i7-6700K CPU @ 4.0GHz,
44+
using [lzbench], an open-source in-memory benchmark by @inikep
45+
compiled with GCC 6.3.0,
46+
on the [Silesia compression corpus].
4247

4348
Compression Speed vs Ratio | Decompression Speed
4449
---------------------------|--------------------

0 commit comments

Comments
 (0)