Commit Graph

1502 Commits

Author SHA1 Message Date
Yann Collet
ae3dededed ensure bench speed measurement is more accurate for small inputs
Previous method would produce too many time() invocations,
becoming a significant fraction of workload measured.

The new strategy is to use time() only once per batch,
and dynamically resize batch size so that each round lasts approximately 1 second.

This only matters for small inputs.
Measurement for large files (such as silesia.tar) are much less impacted
(though decoding speed is so fast that even medium-size files will notice an improvement).
2018-02-20 13:09:13 -08:00
Yann Collet
1a233c5f0f update bench.c to use less time invocations
translating into more accurate speed measurements for small sources
2018-02-20 11:37:19 -08:00
Yann Collet
d74f079748 update API doc regarding double-buffer strategy
answering question #473
2018-02-18 11:00:33 -08:00
Yann Collet
9f338ae204
Merge pull request #472 from hobomind/dev
fix: missed semicolon at programs/lz4io.c:954
2018-02-14 13:00:50 -08:00
hobomind
b202c67234
fix: missed semicolon at programs/lz4io.c:954 2018-02-14 18:47:56 +03:00
Yann Collet
3d3d5af4e1
Merge pull request #470 from lz4/fasterDec
Faster decoding speed
2018-02-12 16:56:45 -08:00
Yann Collet
219abab74b removed LZ4_copy8
better use memcpy() directly
2018-02-11 22:20:09 -08:00
Yann Collet
3ad3b0f850 slightly improved decompression speed (~+1-2%)
by making shortcut slightly more common
2018-02-11 01:43:20 -08:00
Yann Collet
f76ee4e267
Merge pull request #469 from mathstuf/intel-windows-packing-selection
intel: do not use __attribute__((packed)) on Windows
2018-02-08 08:45:25 -08:00
Ben Boeckel
c4671be550 intel: do not use __attribute__((packed)) on Windows
On Windows, the Intel compiler is closer to MSVC rather than GCC and
does not support the GCC attribute syntax.

Fixes #468
2018-02-08 09:15:27 -05:00
Yann Collet
ea25250c99 fixed code comment as detected in #466
Also clarified a few API code comments
and updated associated html documentation
2018-02-07 02:21:25 -08:00
Yann Collet
e3f73fa6a6
Merge pull request #461 from terrelln/docs
Clarify the requirements of the LZ4 streaming API
2018-02-01 16:14:54 -08:00
Nick Terrell
e832a3d87a Clarify the requirements of the LZ4 streaming API 2018-02-01 16:08:59 -08:00
Yann Collet
99a81c89f0
Merge pull request #458 from lz4/ff161
Minor change to LZ4 Frame format specification
2018-02-01 10:55:02 -08:00
Yann Collet
424c773f83
Merge pull request #460 from lz4/frameCompress
refactored frameCompress.c example
2018-02-01 08:53:23 -08:00
Yann Collet
3ce289bcce modified decompression part of frameCompress.c
using same logic as prior modifications for compression part.
2018-02-01 02:48:20 -08:00
Yann Collet
25efdd80c5 refactored ressource allocation to avoid goto 2018-02-01 01:38:14 -08:00
Yann Collet
886a485845 examples/Makefile : changed dependency order
static library *.a must come after source files *.c on linux
2018-01-31 23:17:52 -08:00
Yann Collet
5fd3ac7904 Merge branch 'dev' into frameCompress 2018-01-31 17:18:57 -08:00
Yann Collet
d1ccd620d6 travisci : ensure "clean" betweeb 2 tests 2018-01-31 17:16:48 -08:00
Yann Collet
3b751a50c5 modified gpptest recipe 2018-01-31 17:15:02 -08:00
Yann Collet
70671ab314
Merge pull request #459 from Tyilo/clang-stdc++14
Ensure LZ4_DEPRECATED("...") is before LZ4LIB_API
2018-01-31 16:42:13 -08:00
Yann Collet
b515ae9c99 refactored frameCompress.c example code
compression function returns a struct.
Also : nested structure ressources->computation
to make it easier to manage multiple exit points.
2018-01-31 16:39:37 -08:00
Yann Collet
ff3c67fdb2 fixed read size, as noticed by @terrelln 2018-01-31 16:13:02 -08:00
Yann Collet
1acca240a9 ensure proper dependencies are built for /examples
also : use liblz4.a static lib to share compilation time
2018-01-31 16:11:45 -08:00
Yann Collet
87fb7a1d03 refactored frameCompress example
to better reflect LZ4F API usage.
2018-01-31 14:33:16 -08:00
Asger Hautop Drewsen
c129f480e7 Always prefer c++14 attributes if available 2018-01-31 20:24:44 +01:00
Yann Collet
d03224b633 fix typos as suggested by @psteinb 2018-01-31 09:54:30 -08:00
Asger Hautop Drewsen
865bd83e13 Ensure LZ4_DEPRECATED("...") is before LZ4LIB_API
When using clang++ with std c++14 or c++17 you would get the error "an attribute list cannot appear here" when including "lz4.h" as the visibility attribute is before the c++ attribute.
This ensures that the [[deprecated]] c++ attribute is before everything
else in the function declarations.
2018-01-31 13:33:07 +01:00
Yann Collet
fd0c125ff1 proposed a minor change to LZ4 Frame format specification
add new terms "LZ4 Frame Header" and "LZ4 Frame Footer"
2018-01-30 17:56:03 -08:00
Yann Collet
8258f4d9cb
Merge pull request #455 from terrelln/hc-default
[lz4hc] level == 0 means default, not level 1
2018-01-22 13:25:49 -08:00
Nick Terrell
30e92f320c [lz4hc] level == 0 means default, not level 1 2018-01-22 12:50:06 -08:00
Yann Collet
ad12efa4e8
Merge pull request #453 from lz4/clockfix
fix #450 : use more restrictive conditions for clock_gettime()
2018-01-17 12:45:09 -08:00
Yann Collet
cd63b97f96
Merge pull request #454 from sunpoet/dev
Change file format back to ASCII (from UTF-8)
2018-01-17 11:29:27 -08:00
Po-Chuan Hsieh
75b81bbbf0 Change file format back to ASCII (from UTF-8)
- Replace U+00A0 by space
- Fix build failure of archivers/py-borgbackup in FreeBSD

Reference: https://bugs.FreeBSD.org/225235
2018-01-18 03:13:05 +08:00
Yann Collet
7dba09af47 use more restrictive conditions for clock_gettime() 2018-01-16 10:21:37 -08:00
Yann Collet
b077a99347 added checkTag
checkTag verifies that provided tag and library version match.
It's started automatically in circleCI when a new tag is created.
2018-01-14 16:57:25 -08:00
Yann Collet
dfed9fa1d7 restored .travis 2018-01-14 00:21:43 -08:00
Yann Collet
5e7780d2d8 lz4frame : removed some intermediate stage from LZ4F_decompress()
ensure some strange jump cases are not possible
(they were already not possible, but static analyzer couldn't understand it).
2018-01-14 00:15:07 -08:00
Yann Collet
cdd0c685e0 Merge branch 'dev' into coverity_scan 2018-01-13 22:58:09 -08:00
Yann Collet
75e22d133e minor : try to tell static analyzer that we don't care if fseek() fails
as already explained in comments.
2018-01-13 22:52:17 -08:00
Yann Collet
18b4c66d25 ensure a ptr is non-null
with an assert()
to help static analyzer understanding this condition.
2018-01-13 22:47:46 -08:00
Yann Collet
4d61ebc9c8 modified formulation for LZ4F_compressBound()
previous version used an intentional overflow,
which is defined since it uses unsigned type,
but static analyzer complain about it.
2018-01-13 22:39:39 -08:00
Yann Collet
8e69328d61 programs/datagen : attempt to please static analyzer
with an assert()
to reduce false positive
2018-01-13 22:24:32 -08:00
Yann Collet
fe66e78b96 lz4io: fixed minor ressource leak 2018-01-13 22:18:04 -08:00
Yann Collet
99302c43b4 revert project name 2018-01-13 21:40:04 -08:00
Yann Collet
8e50feca14 minor name update 2018-01-13 21:14:36 -08:00
Yann Collet
151a50e16e Merge branch 'master' into coverity_scan 2018-01-13 21:09:02 -08:00
Yann Collet
e0e29cf09e
Merge pull request #449 from lz4/dev
v1.8.1.2
2018-01-13 20:56:14 -08:00
Yann Collet
52a76ff682 update man page 2018-01-13 19:06:33 -08:00