Skip to content
代码片段 群组 项目
  1. 7月 22, 2019
  2. 4月 13, 2019
    • Josh Soref's avatar
      Spelling (#1582) · a880ca23
      Josh Soref 创作于
      * spelling: accidentally
      
      * spelling: across
      
      * spelling: additionally
      
      * spelling: addresses
      
      * spelling: appropriate
      
      * spelling: assumed
      
      * spelling: available
      
      * spelling: builder
      
      * spelling: capacity
      
      * spelling: compiler
      
      * spelling: compressibility
      
      * spelling: compressor
      
      * spelling: compression
      
      * spelling: contract
      
      * spelling: convenience
      
      * spelling: decompress
      
      * spelling: description
      
      * spelling: deflate
      
      * spelling: deterministically
      
      * spelling: dictionary
      
      * spelling: display
      
      * spelling: eliminate
      
      * spelling: preemptively
      
      * spelling: exclude
      
      * spelling: failure
      
      * spelling: independence
      
      * spelling: independent
      
      * spelling: intentionally
      
      * spelling: matching
      
      * spelling: maximum
      
      * spelling: meaning
      
      * spelling: mishandled
      
      * spelling: memory
      
      * spelling: occasionally
      
      * spelling: occurrence
      
      * spelling: official
      
      * spelling: offsets
      
      * spelling: original
      
      * spelling: output
      
      * spelling: overflow
      
      * spelling: overridden
      
      * spelling: parameter
      
      * spelling: performance
      
      * spelling: probability
      
      * spelling: receives
      
      * spelling: redundant
      
      * spelling: recompression
      
      * spelling: resources
      
      * spelling: sanity
      
      * spelling: segment
      
      * spelling: series
      
      * spelling: specified
      
      * spelling: specify
      
      * spelling: subtracted
      
      * spelling: successful
      
      * spelling: return
      
      * spelling: translation
      
      * spelling: update
      
      * spelling: unrelated
      
      * spelling: useless
      
      * spelling: variables
      
      * spelling: variety
      
      * spelling: verbatim
      
      * spelling: verification
      
      * spelling: visited
      
      * spelling: warming
      
      * spelling: workers
      
      * spelling: with
      a880ca23
  3. 4月 11, 2019
    • Yann Collet's avatar
      benchfn dependencies reduced to only timefn · 59a7116c
      Yann Collet 创作于
      benchfn used to rely on mem.h, and util,
      which in turn relied on platform.h.
      Using benchfn outside of zstd required to bring all these dependencies.
      
      Now, dependency is reduced to timefn only.
      This required to create a separate timefn from util,
      and rewrite benchfn and timefn to no longer need mem.h.
      
      Separating timefn from util has a wide effect accross the code base,
      as usage of time functions is widespread.
      A lot of build scripts had to be updated to also include timefn.
      59a7116c
  4. 2月 01, 2019
  5. 12月 29, 2018
  6. 12月 22, 2018
    • Yann Collet's avatar
      fix confusion between unsigned <-> U32 · ededcfca
      Yann Collet 创作于
      as suggested in #1441.
      
      generally U32 and unsigned are the same thing,
      except when they are not ...
      
      case : 32-bit compilation for MIPS (uint32_t == unsigned long)
      
      A vast majority of transformation consists in transforming U32 into unsigned.
      In rare cases, it's the other way around (typically for internal code, such as seeds).
      
      Among a few issues this patches solves :
      - some parameters were declared with type `unsigned` in *.h,
        but with type `U32` in their implementation *.c .
      - some parameters have type unsigned*,
        but the caller user a pointer to U32 instead.
      
      These fixes are useful.
      
      However, the bulk of changes is about %u formating,
      which requires unsigned type,
      but generally receives U32 values instead,
      often just for brevity (U32 is shorter than unsigned).
      These changes are generally minor, or even annoying.
      
      As a consequence, the amount of code changed is larger than I would expect for such a patch.
      
      Testing is also a pain :
      it requires manually modifying `mem.h`,
      in order to lie about `U32`
      and force it to be an `unsigned long` typically.
      On a 64-bit system, this will break the equivalence unsigned == U32.
      Unfortunately, it will also break a few static_assert(), controlling structure sizes.
      So it also requires modifying `debug.h` to make `static_assert()` a noop.
      And then reverting these changes.
      
      So it's inconvenient, and as a consequence,
      this property is currently not checked during CI tests.
      Therefore, these problems can emerge again in the future.
      
      I wonder if it is worth ensuring proper distinction of U32 != unsigned in CI tests.
      It's another restriction for coding, adding more frustration during merge tests,
      since most platforms don't need this distinction (hence contributor will not see it),
      and while this can matter in theory, the number of platforms impacted seems minimal.
      
      Thoughts ?
      ededcfca
  7. 12月 14, 2018
  8. 12月 06, 2018
  9. 12月 02, 2018
  10. 11月 28, 2018
    • Lzu Tao's avatar
      Update meson build system · 9a721e52
      Lzu Tao 创作于
      NOTE: This commit only tested on Linux (Ubuntu 18.04). Windows
      build may not work as expected.
      
      * Use meson >= 0.47.0 cause we use install_man function
      * Add three helper Python script:
        * CopyFile.py: To copy file
        * CreateSymlink.py: To make symlink (both Windows and Unix)
        * GetZstdLibraryVersion.py: Parse lib/zstd.h to get zstd version
        These help emulating equivalent functions in CMake and Makefile.
      * Use subdir from meson to split meson.build
        * Add contrib build
        * Fix other build
      * Add new build options
        * build_programs: Enable programs build
        * build_contrib: Enable contrib build
        * build_tests: Enable tests build
        * use_static_runtime: Link to static run-time libraries on MSVC
        * zlib_support: Enable zlib support
        * lzma_support: Enable lzma support
      9a721e52
    • Lzu Tao's avatar
      9bd8f6a0
    • Lzu Tao's avatar
      Add meson build guide · 2abd5139
      Lzu Tao 创作于
      2abd5139
  11. 11月 14, 2018
  12. 11月 09, 2018
    • Yann Collet's avatar
      Improves decompression speed when using cold dictionary · 483759a3
      Yann Collet 创作于
      by triggering the prefetching decoder path
      (which used to be dedicated to long-range offsets only).
      
      Figures on my laptop :
      no content prefetch : ~300 MB/s (for reference)
      full content prefetch : ~325 MB/s (before this patch)
      new prefetch path : ~375 MB/s (after this patch)
      
      The benchmark speed is already significant,
      but another side-effect is that this version
      prefetch less data into memory,
      since it only prefetches what's needed, instead of the full dictionary.
      
      This is supposed to help highly active environments
      such as active databases,
      that can't be properly measured in benchmark environment (too clean).
      
      Also :
      fixed the largeNbDict test program
      which was working improperly when setting nbBlocks > nbFiles.
      483759a3
  13. 10月 12, 2018
  14. 9月 22, 2018
  15. 9月 17, 2018
  16. 9月 16, 2018
  17. 9月 13, 2018
    • Yann Collet's avatar
      largeNbDicts : can select a nb of blocks · c49ccbc8
      Yann Collet 创作于
      will automatically truncate or repeat input as needed,
      to create the requested nb of blocks.
      default: nb of files, eventually increased appropriately if blockSize is set
      c49ccbc8
  18. 9月 06, 2018
加载中