Skip to content
代码片段 群组 项目
  1. 1月 18, 2020
  2. 1月 14, 2020
  3. 1月 11, 2020
    • Christoph Reiter's avatar
      appveyor: build with CMake under Cygwin · 9a5d8a6c
      Christoph Reiter 创作于
      9a5d8a6c
    • Nick Terrell's avatar
      Fix super block compression and stream raw blocks in decompression (#1947) · 036b30b5
      Nick Terrell 创作于
      Super blocks must never violate the zstd block bound of input_size + ZSTD_blockHeaderSize. The individual sub-blocks may, but not the super block. If the superblock violates the block bound we are liable to violate ZSTD_compressBound(), which we must not do. Whenever the super block violates the block bound we instead emit an uncompressed block.
      
      This means we increase the latency because of the single uncompressed block. I fix this by enabling streaming an uncompressed block, so the latency of an uncompressed block is 1 byte. This doesn't reduce the latency of the buffer-less API, but I don't think we really care.
      
      * I added a test case that verifies that the decompression has 1 byte latency.
      * I rely on existing zstreamtest / fuzzer / libfuzzer regression tests for correctness. During development I had several correctness bugs, and they easily caught them.
      * The added assert that the superblock doesn't violate the block bound will help us discover any missed conditions (though I think I got them all).
      
      Credit to OSS-Fuzz.
      036b30b5
    • Christoph Reiter's avatar
      Fix the c99/cmake build under Cygwin/MSYS2 · ddd4c397
      Christoph Reiter 创作于
      When building zst under cygwin or msys2 with std=c99 the build would fail because
      of an undefined fileno()/_fileno(), which is used by the IS_CONSOLE() macro.
      
      When building with -std=c99 (gcc otherwise defaults to gnu, which implies POSIX),
      which is the default of the cmake build, then including unistd.h wont define
      _POSIX_VERSION and all other headers also wont expose POSIX API.
      
      To fix this make sure to define _POSIX_C_SOURCE with the version we want before including
      unistd.h and so that _POSIX_VERSION is set to the version provided by the system.
      
      Since Cygwin/MSYS2 just follow POSIX we can also remove their special cases for
      defining IS_CONSOLE().
      
      And, for completeness, also explicitly include stdio.h which is what actually declares fileno().
      
      Tested with the normal make file and cmake under MSYS2 and Cygwin.
      ddd4c397
    • Bimba Shrestha's avatar
      Adding new cli endpoint --patch-from= (#1940) · f25a6e9f
      Bimba Shrestha 创作于
      * Adding new cli endpoint --diff-from=
      
      * Appveyor conversion nit
      
      * Using bool set trick instead of direct set
      
      * Removing --diff-from and only leaving --diff-from=#
      
      * Throwing error when both dictFileName vars are set
      
      * Clean up syntax
      
      * Renaming diff-from to patch-from
      
      * Revering comma separated syntax clean up
      
      * Updating playtests with patch-from
      
      * Uncommenting accidentally commented
      
      * Updating remaining docs and var names to be patch-from instead of diff-from
      
      * Constifying
      
      * Using existing log2 function and removing newly created one
      
      * Argument order (moving prefs to end)
      
      * Using comma separated syntax
      
      * Moving to outside #ifndef
      f25a6e9f
  4. 1月 10, 2020
    • Nick Terrell's avatar
      [fuzz] Allow zero sized buffers for streaming fuzzers (#1945) · d1cc9d27
      Nick Terrell 创作于
      * Allow zero sized buffers in `stream_decompress`. Ensure that we never have two
        zero sized buffers in a row so we guarantee forwards progress.
      * Make case 4 in `stream_round_trip` do a zero sized buffers call followed by
        a full call to guarantee forwards progress.
      * Fix `limitCopy()` in legacy decoders.
      * Fix memcpy in `zstdmt_compress.c`.
      
      Catches the bug fixed in PR #1939 
      d1cc9d27
  5. 1月 09, 2020
  6. 1月 08, 2020
  7. 1月 07, 2020
    • Bimba Shrestha's avatar
      [bench] Automated benchmarking script (#1906) · eb76f786
      Bimba Shrestha 创作于
      * Initial revised automated benchmarking script
      
      * Updating nb_iterations and making loop infinite
      
      * Allowing benchmarking params to be changed from cli
      
      * Renaming old speed test
      
      * Removing numpy dependency for cli
      
      * Change filename and benchmakr on pr level
      
      * Moving build outside loop and adding iterations param
      
      * Moving benchmarking to seperate travis ci test
      
      * Fixing typo and using unused variable
      
      * Added mode labels and updated README accordingly
      
      * Adding new mode 'current' that compraes facebook:dev against current hash
      
      * Typo
      
      * Reverting previous accidental diff
      
      * Typo
      
      * Adding frequency config variable to prevent github from blacklisting
      
      * Added new argument for frequency of fetching new prs
      
      * Updating documentation
      eb76f786
  8. 1月 04, 2020
  9. 12月 27, 2019
  10. 12月 24, 2019
  11. 12月 20, 2019
  12. 12月 19, 2019
  13. 12月 18, 2019
  14. 12月 15, 2019
  15. 12月 14, 2019
加载中