mirror of
https://github.com/facebook/zstd.git
synced 2025-12-04 00:04:23 -05:00
* Minor fix * Run non-optimize FASTCOVER 5 times in benchmark * Merge fastCover into dictBuilder * Fix mixed declaration issue * Add fastcover to symbol.c * Add fastCover.c and cover.h to build * Change fastCover.c to fastcover.c * Update benchmark to run FASTCOVER in dictBuilder * Undo spliting fastcover_param into cover_param and f * Remove convert param functions * Assign f to parameter * Add zdict.h to Makefile in lib * Add cover.h to BUCK * Cast 1 to U64 before shifting * Remove trimming of zero freq head and tail in selectSegment and rebenchmark * Remove f as a separate parameter of tryParam * Read 8 bytes when d is 6 * Add trimming off zero frequency head and tail * Use best functions from COVER and remove trimming part(which leads to worse compression ratio after previous bugs were fixed) * Add finalize= argument to FASTCOVER to specify percentage of training samples passed to ZDICT_finalizeDictionary * Change nbDmer to always read 8 bytes even when d=6 * Add skip=# argument to allow skipping dmers in computeFrequency in FASTCOVER * Update comments and benchmarking result * Change default method of ZDICT_trainFromBuffer to ZDICT_optimizeTrainFromBuffer_fastCover * Add dictType enum and fix bug about passing zParam when converting to coverParam * Combine finalize and skip into a single parameter * Update acceleration parameters and benchmark on 3 sample sets * Change default splitPoint of FASTCOVER to 0.75 and benchmark first 3 sample sets * Initialize variables outside of for loop in benchmark.c * Update benchmark result for hg-manifest * Remove cover.h from install-includes * Add explanation of f * Set default compression level for trainFromBuffer to 3 * Add assertion of fastCoverParams in DiB_trainFromFiles * Add checkTotalCompressedSize function + some minor fixes * Add test for multithreading fastCovr * Initialize segmentFreqs in every FASTCOVER_selectSegment and move mutex_unnlock to end of COVER_best_finish * Free segmentFreqs * Initialize segmentFreqs before calling FASTCOVER_buildDictionary instead of in FASTCOVER_selectSegment * Add FASTCOVER_MEMMULT * Minor fix * Update benchmarking result
Projects for various integrated development environments (IDE)
Included projects
The following projects are included with the zstd distribution:
cmake- CMake project contributed by Artyom DymchenkoVS2005- Visual Studio 2005 Project (this project has been moved to the contrib directory and will no longer be supported)VS2008- Visual Studio 2008 projectVS2010- Visual Studio 2010 project (which also works well with Visual Studio 2012, 2013, 2015)VS_scripts- command line scripts prepared for Visual Studio compilation without IDE
How to compile zstd with Visual Studio
- Install Visual Studio e.g. VS 2015 Community Edition (it's free).
- Download the latest version of zstd from https://github.com/facebook/zstd/releases
- Decompress ZIP archive.
- Go to decompressed directory then to
projectsthenVS2010and openzstd.sln - Visual Studio will ask about converting VS2010 project to VS2015 and you should agree.
- Change
DebugtoReleaseand if you have 64-bit Windows change alsoWin32tox64. - Press F7 on keyboard or select
BUILDfrom the menu bar and chooseBuild Solution. - If compilation will be fine a compiled executable will be in
projects\VS2010\bin\x64\Release\zstd.exe
Projects available within zstd.sln
The Visual Studio solution file visual\VS2010\zstd.sln contains many projects that will be compiled to the
visual\VS2010\bin\$(Platform)_$(Configuration) directory. For example zstd set to x64 and
Release will be compiled to visual\VS2010\bin\x64_Release\zstd.exe. The solution file contains the
following projects:
zstd: Command Line Utility, supporting gzip-like argumentsdatagen: Synthetic and parametrable data generator, for testsfullbench: Precisely measure speed for each zstd inner functionsfuzzer: Test tool, to check zstd integrity on target platformlibzstd: A static ZSTD library compiled tolibzstd_static.liblibzstd-dll: A dynamic ZSTD library (DLL) compiled tolibzstd.dllwith the import librarylibzstd.libfullbench-dll: The fullbench program compiled with the import library; the executable requires ZSTD DLL
Using ZSTD DLL with Microsoft Visual C++ project
The header file lib\zstd.h and the import library
visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.lib are required to compile
a project using Visual C++.
- The path to header files should be added to
Additional Include Directoriesthat can be found in Project Properties of Visual Studio IDE in theC/C++Property Pages on theGeneralpage. - The import library has to be added to
Additional Dependenciesthat can be found in Project Properties in theLinkerProperty Pages on theInputpage. If one will provide only the namelibzstd.libwithout a full path to the library then the directory has to be added toLinker\General\Additional Library Directories.
The compiled executable will require ZSTD DLL which is available at
visual\VS2010\bin\$(Platform)_$(Configuration)\libzstd.dll.