summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | decompress_generic: optimize match copyDave Watson2019-02-081-23/+28
| | | | | | | | | | | | | | | | | | Add an LZ4_wildCopy16, that will wildcopy, potentially smashing up to 16 bytes, and use it for match copy. On x64, this avoids many blocked loads due to store forwarding, similar to issue #411.
| * | decompress_generic: Add a loop fastpathDave Watson2019-02-081-5/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy the main loop, and change checks such that op is always less than oend-SAFE_DISTANCE. Currently these are added for the literal copy length check, and for the match copy length check. Otherwise the first loop is exactly the same as the second. Follow on diffs will optimize the first copy loop based on this new requirement. I also tried instead making a separate inlineable function for the copy loop (similar to existing partialDecode flags, etc), but I think the changes might be significant enough to warrent doubling the code, instead pulling out common functionality to separate functions. This is the basic transformation that will allow several following optimisations.
| * | decompress_generic: Refactor variable length fieldsDave Watson2019-02-081-12/+35
| | | | | | | | | | | | | | | Make a helper function to read variable lengths for literals and match length.
* | | Merge pull request #648 from aregm/fix-VS2017-solutionYann Collet2019-02-071-11/+6
|\ \ \ | | | | | | | | Build fixed by removing unavailable project
| * | | Build fixed by removing unavailable projectAreg Melik-Adamyan2019-02-071-11/+6
|/ / /
* | | Merge pull request #646 from jbms/fix-clang-optimize-attribute-ppc64leYann Collet2019-02-041-1/+1
|\ \ \ | |/ / |/| | Eliminate optimize attribute warning with clang on PPC64LE
| * | Eliminate optimize attribute warning with clang on PPC64LEJeremy Maitin-Shepard2019-02-041-1/+1
|/ /
* | Merge pull request #644 from lzutao/meson-msvc-exportYann Collet2019-01-232-1/+7
|\ \ | | | | | | meson: Add -DLZ4_DLL_EXPORT=1 to build dynamic lib on Windows
| * | meson: Add -DLZ4_DLL_EXPORT=1 to build dynamic lib on WindowsLzu Tao2019-01-232-1/+7
|/ / | | | | | | Thanks @nacho for pointing it out.
* | Merge pull request #638 from lzutao/travisYann Collet2019-01-111-120/+129
|\ \ | | | | | | Travis: Clean up .travis.yml
| * | travis: Prefer `apt-get` in `install` field than `addons-apt-sources`Lzu Tao2019-01-101-46/+25
| | |
| * | travis: Prefer `script` field than `Cmd` envLzu Tao2019-01-101-78/+108
| | |
* | | Merge pull request #639 from lzutao/mesonYann Collet2019-01-113-4/+4
|\ \ \ | | | | | | | | meson: Small improvements
| * | | meson: Favor warning if cannot find version stringLzu Tao2019-01-101-1/+1
| | | |
| * | | meson: Use libray as required argument in `pkgconfig`Lzu Tao2019-01-101-2/+2
| | | |
| * | | meson: Explicit use `meson setup` to setup a builddirLzu Tao2019-01-101-1/+1
| |/ /
* | | Merge pull request #640 from tzakian/remove_io_globalsYann Collet2019-01-113-166/+210
|\ \ \ | | | | | | | | Remove a bunch of global variables that tracked settings for the IO module
| * | | Add cast around mallocTim Zakian2019-01-111-1/+1
| | | |
| * | | Add constant pointer annotationsTim Zakian2019-01-113-54/+55
| | | |
| * | | Remove a bunch of global variables that tracked settings for the IO module, ↵Tim Zakian2019-01-103-166/+209
|/ / / | | | | | | | | | and move them in to a struct
* | | Merge pull request #637 from tzakian/fix_pass-through_modeYann Collet2019-01-104-5/+26
|\ \ \ | | | | | | | | Fix pass-through mode
| * | | Fix pass-through modeTim Zakian2019-01-104-5/+26
|/ / /
* | | Merge pull request #635 from tzakian/clean_call_to_LZ4HC_encodeSequenceYann Collet2019-01-101-7/+9
|\ \ \ | | | | | | | | Make effectfulness of calls to LZ4HC_encodeSequence clearer
| * | | Make fact that certain variables that are passed into LZ4HC_encodeSequence ↵Tim Zakian2019-01-091-7/+9
| | | | | | | | | | | | | | | | are changed by the function call
* | | | fixed strict C++ compilationYann Collet2019-01-092-1/+2
| | | |
* | | | fixed long sequence overflow testYann Collet2019-01-091-1/+3
| | | |
* | | | minor explicit cast warningYann Collet2019-01-091-1/+1
|/ / /
* | | Merge pull request #634 from lz4/longSeqTestYann Collet2019-01-091-40/+76
|\ \ \ | | | | | | | | add a test to check long sequences (#631)
| * | | add a test to check long sequences (#631)Yann Collet2019-01-091-40/+76
| | | | | | | | | | | | | | | | | | | | the test fails, as intended, since #631 is not merged yet in this branch.
* | | | Merge pull request #631 from qiuyangs/devYann Collet2019-01-091-2/+2
|\ \ \ \ | | | | | | | | | | lz4hc.c: change (length >> 8) to (length / 255)
| * \ \ \ Merge pull request #1 from qiuyangs/sunqiuyang-fix-length>>8qiuyangs2019-01-061-2/+2
| |\ \ \ \ | | |_|/ / | |/| | | lz4hc.c: change (length >> 8) to (length / 255)
| | * | | lz4hc.c: change (length >> 8) to (length / 255)qiuyangs2019-01-061-2/+2
| |/ / / | | | | | | | | Every 0xff byte in the compressed block corresponds to a length of 255 (not 256) in the input data. For long repeating sequences, using (length >> 8) may generate bad compressed blocks.
* | | | Merge pull request #633 from tzakian/make_block_size_publicYann Collet2019-01-093-8/+31
|\ \ \ \ | |_|/ / |/| | | Make LZ4F_getBlockSize public and public in experimental section
| * | | Fix C90 compatibility issueTim Zakian2019-01-091-1/+2
| | | |
| * | | Make LZ4F_getBlockSize public and publis in experimental sectionTim Zakian2019-01-093-8/+30
|/ / /
* | | Merge pull request #632 from rubenochiavone/fix-lz4-extesion-not-decompressingYann Collet2019-01-092-5/+24
|\ \ \ | |/ / |/| | Fix lz4 extension in input filename not causing decompression
| * | Add test to cover issue #596Ruben O. Chiavone2019-01-091-0/+5
| | |
| * | Fix lz4 extension in input filename not causing decompressionRuben O. Chiavone2019-01-091-5/+19
|/ /
* | updated frame formatYann Collet2019-01-021-7/+10
| | | | | | | | | | re-wording non-full blocks, for clarity.
* | updated LZ4 block formatYann Collet2019-01-021-36/+33
| | | | | | | | | | rewording the end of block conditions for clarity and answering related questions.
* | Merge pull request #620 from lzutao/meson_symlinkYann Collet2018-12-172-16/+12
|\ \ | | | | | | Update meson symlink and man1 extension
| * | Simplify logic by setting default value for MESON_INSTALL_DESTDIR_PREFIXLzu Tao2018-12-131-4/+2
| | |
| * | meson: Update man1 extension in meson 0.49.0Lzu Tao2018-12-131-1/+1
| | |
| * | meson: Update InstallSymlink.py usageLzu Tao2018-12-131-11/+9
| | | | | | | | | | | | Change default directory mode to 755.
* | | Merge pull request #621 from lzutao/meson_getversionYann Collet2018-12-141-5/+3
|\ \ \ | |/ / |/| | meson: Remove unused sys import
| * | meson: Remove unused sys importLzu Tao2018-12-141-5/+3
|/ /
* | Merge pull request #618 from dosaboy/add-snap-packaging-supportYann Collet2018-12-122-0/+60
|\ \ | | | | | | Add snap packaging support
| * | Add snap packaging supportEdward Hope-Morley2018-12-122-0/+60
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a snapcraft.yaml file to allow lz4 to be distributed as a snap (see https://snapcraft.io/ for more info on snaps). Building the Snap ----------------- To build the snap simply install snapcraft and build the snap e.g. on Ubuntu by doing: $ sudo apt install snapcraft $ cd contrib; snapcraft This will build a snap that can be published [1] to e.g. https://snapcraft.io/lz4 If you want to test the snap before publishing you can do: $ snap install <snapname>.snap --dangerous And that will install it on your local host. You will then have lz4 as a command to run. Installing the Snap ------------------- Once published and released in the snapstore your snap can be installed on any platform that supports snaps by doing: snap install lz4 [1] https://docs.snapcraft.io/releasing-to-the-snap-store
* | Merge pull request #616 from felixhandte/lz4-attach-reject-short-dictsYann Collet2018-12-091-1/+1
|\ \ | | | | | | Fix LZ4_compress_fast_continue() Prefix Size Check
| * | Fix Dict Size Test in `LZ4_compress_fast_continue()`W. Felix Handte2018-12-051-4/+2
| | | | | | | | | | | | | | | | | | | | | Dictionaries don't need to be > 4 bytes, they need to be >= 4 bytes. This test was overly conservative. Also removes the test in `LZ4_attach_dictionary()`.