Ahmed Abdellah
5e206fdd53
fixing some warning
2019-10-24 14:21:01 +01:00
AhmedAbdellah19
7a732e2bb2
Merge branch 'dev' into adding_read_files_from_file_feature
2019-10-23 20:29:01 +02:00
Bimba Shrestha
8a3974807e
Allowing named pipes to go through zstdcli
2019-10-22 15:23:22 -07:00
Ahmed Abdellah
779ea72953
Adding --file=FILE feature
2019-10-15 07:49:13 +01:00
Yann Collet
b3e92ad346
Merge pull request #1812 from senhuang42/output-dir-flat
...
Support for --output-dir-flat: output into a directory
2019-10-14 09:25:05 -07:00
Sen Huang
64bc441d7d
Now constructs final destination path without allocating new table
2019-10-03 13:53:04 -04:00
Sen Huang
c763457e0a
Static analyze fix
2019-10-02 15:30:24 -04:00
Sen Huang
f80437c586
Add support for --output-dir-flat
...
New flag to specify output directory destination for multiple files.
2019-10-02 11:08:20 -04:00
Sen Huang
30bff50e06
fixes for tests and segfault
2019-09-06 11:10:53 -07:00
Sen Huang
7f98b46876
adding support for -O flag: multiple files into one directory for compressions (decompression to come)
2019-09-05 16:03:35 -07:00
Rosen Penev
41e90653fe
zstd: Don't use utime on Linux
...
utime is deprecated by POSIX 2008 and optionally not available with
uClibc-ng.
Got rid of a few useless headers in timefn.h.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-07-31 12:29:13 -07:00
Yann Collet
59a7116cc2
benchfn dependencies reduced to only timefn
...
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.
2019-04-10 12:37:03 -07:00
shakeelrao
e5811e5520
Extract file comparison into utility func
2019-03-23 19:04:56 -07:00
Yann Collet
65a441a8f0
fixed stdlib implementation of time functions
...
generated redefinitions
2018-12-20 14:02:50 -08:00
Yann Collet
173ef9dea2
fixed : detection of non-existing file
...
better error message
with test
2018-12-19 18:30:57 -08:00
Rohit Jain
91b2fed8f8
Moving more function to the new C file
2018-10-11 17:34:47 -07:00
Rohit Jain
a47f6e6f2d
Removing static and making extern
2018-10-11 16:51:29 -07:00
Rohit Jain
705e0b18ab
Making changes to make it compile on my laptop
2018-10-11 15:51:57 -07:00
Rohit Jain
b19140bc13
Fixed makefile and removed multiple definitions from util.h (UTIL_getTime)
2018-10-11 15:17:40 -07:00
Rohit Jain
d6d240f016
Removed UTIL_setFileStat from util.h and move it to util.c
2018-10-11 15:07:12 -07:00
Rohit Jain
f881ee8c48
Moving code to util.c
2018-10-11 14:38:41 -07:00
Yann Collet
4a85b126d9
changed ZSTD_NANOSLEEP_SUPPORT definition
...
to please `-Wexpansion-to-defined`
2018-10-03 15:34:41 -07:00
Yann Collet
549c19b42e
portability macro flags updates, for Haiku
...
some non-trivial changes to platform.h and util.h,
initially related to compilation for Haiku,
but I used this opportunity to make them cleaner
and add some documentation.
Noticed several tests that could be improved
(too harsh conditions, useless exception, etc.)
but I did not dare modifying too many tests just before release.
2018-10-03 14:56:46 -07:00
Nick Terrell
09231dad4d
[util] Fix lstat feature test macro
2018-09-28 15:23:09 -07:00
Yann Collet
54001f3dbc
fix mingw compatibility
...
only enable backtraces for platforms we know support it
aka mac OS-X and Linux.
can be extended later.
2018-09-21 14:46:09 -07:00
Yann Collet
deb03d8a26
fixed UTIL_isLink() for Mac OS-X
2018-09-06 17:32:16 -07:00
Yann Collet
39c55a118f
fixed minor compatibility issues with older compilers
2018-08-30 16:00:57 -07:00
Yann Collet
4086b2871b
largeNbDicts compatible with multiple source files
...
splitting is disabled by default, but can be re-enabled using usual command -B#
update commands to look like zstd ones
2018-08-30 14:38:49 -07:00
cyan4973
f741fb8fcd
minor fixes for MSYS2 compilation
2018-06-26 01:22:45 -07:00
Ryan Schmidt
b567ce9d68
Fix name of macOS
2018-06-09 14:31:17 -05:00
Yann Collet
d3364aa39e
improve benchmark measurement for small inputs
...
by invoking time() once per batch, instead of once per compression / decompression.
Batch is dynamically resized so that each round lasts approximately 1 second.
Also : increases time accuracy to nanosecond
2018-02-20 14:58:40 -08:00
Nick Terrell
fd63140e1c
[util] Refuse to set file stat on non-regular file
2018-01-05 11:44:25 -08:00
Yann Collet
31293330d0
It's still necessary to check PLATFORM_POSIX_VERSION for clock_gettime()
...
glibc/uclibc is not enough
2017-12-04 16:31:59 -08:00
Yann Collet
0097469238
removed a few redundant #include
2017-12-04 16:02:42 -08:00
Yann Collet
e46194bbf9
fix #911 : changed detection macro for clock_gettime()
...
The new macro might be a bit too restrictive.
Systems which do not support new test will simply default to <time.h>'s `clock_t clock()`,
suffering lesser benchmark accuracy.
Should it matter, the detection macro will have to be upgraded.
2017-12-04 15:57:01 -08:00
Nick Terrell
dab8cfa3c7
Combine definitions of SEC_TO_MICRO
2017-11-30 19:40:53 -08:00
Nick Terrell
9a2f6f477b
Use util.h for timing
2017-11-30 14:57:25 -08:00
Yann Collet
d898fb7ba6
bench: added cli command `-S` to benchmark multiple files separately
...
Currently, all files are joined by default,
they are compressed separately but benchmarked together,
providing a single final result.
Benchmarking files separately make it possible to accurately measure difference for each file.
This is expected to be useful while tuning optimal parser.
2017-11-17 00:22:55 -08:00
Yann Collet
18b795374a
UTIL_getFileSize() returns UTIL_FILESIZE_UNKNOWN on failure
...
UTIL_getFileSize() used to return zero on failure.
This made it impossible to distinguish a failure from a genuine empty file.
Both cases where coalesced.
Adding UTIL_FILESIZE_UNKNOWN constant has many consequences on user code,
since in many places, the `0` was assumed to mean "error".
This is no longer the case, and the error code must be actively checked.
2017-10-17 16:14:25 -07:00
Yann Collet
8f26dc3f9c
blindfix for Visual
...
LARGE_INTEGER is not an integer :
https://msdn.microsoft.com/en-us/library/windows/desktop/aa383713(v=vs.85).aspx
Do not take any risk with the structure definition :
use int init = 0; like Mac code
2017-09-12 21:21:17 -07:00
Yann Collet
bc41c7f0eb
fixed minor prototype warning
2017-09-12 19:32:26 -07:00
Yann Collet
c95c0c9725
modified util::time API
...
for easier invocation.
- no longer expose frequency timer :
it's either useless, or stored internally in a static variable (init is only necessary once).
- UTIL_getTime() provides result by function return.
2017-09-12 18:12:46 -07:00
Nick Terrell
6ab4d5e904
[bench] Use higher resolution timer on POSIX
...
The timer used was only accurate up to 0.01 seconds. This timer is accurate up to 1 ns.
It is a monotonic timer that measures the real time difference, not on CPU time.
2017-09-12 16:46:44 -07:00
Yann Collet
3128e03be6
updated license header
...
to clarify dual-license meaning as "or"
2017-09-08 00:09:23 -07:00
Yann Collet
4299c27132
improved console log of utils.h
...
removed a warning when compiling on Windows
2017-08-31 16:58:47 -07:00
Yann Collet
232d62b637
fixed a few headers that were too hastily copy/pasted during last license change
2017-08-21 11:24:32 -07:00
Yann Collet
32fb407c9d
updated a bunch of headers
...
for the new license
2017-08-18 16:52:05 -07:00
Yann Collet
6d4fef36de
Added ZSTD_compress_generic()
...
Used in fileio.c (zstd cli).
Need to set macro ZSTD_NEWAPI to trigger it.
2017-05-17 18:36:15 -07:00
Yann Collet
46ac9ade9b
fixed vla warning on linux
2017-05-15 18:15:08 -07:00
Baptiste Daroussin
7dd14d03b0
Enable multithreading on BSD
2017-04-15 16:25:08 +02:00
Sean Purcell
e4f3235c85
Add 0 initializers to static variables
2017-04-13 16:34:28 -07:00
Sean Purcell
9227aae001
Fix clang linux compilation
2017-04-13 14:06:40 -07:00
Sean Purcell
3b6207d4bd
Fix compilation on windows
2017-04-13 14:04:10 -07:00
Sean Purcell
f876f1200c
Fix compilation on macOS
2017-04-13 12:33:45 -07:00
Sean Purcell
afa48518e2
-T0 detects number of physical cores
2017-04-13 12:28:28 -07:00
Nick Terrell
5152fb2cb2
Convert all tabs to spaces
2017-03-29 18:51:58 -07:00
Sean Purcell
dee08caabb
Fix displayLevel redefinition issues
2017-03-23 12:09:35 -07:00
Sean Purcell
680e4e0953
Ignore symbolic links unless --force specified
2017-03-23 11:52:09 -07:00
Przemyslaw Skibinski
74dcd8d15f
bench.c: use a single ticksPerSecond
2017-02-21 12:22:05 +01:00
Przemyslaw Skibinski
1b59333c82
util.h: restore times()
2017-02-21 07:33:45 +01:00
Przemyslaw Skibinski
da4a0f30af
util.h: use mach_absolute_time for macOS
2017-02-20 12:18:15 +01:00
Przemyslaw Skibinski
e052c60540
introduce UTIL_freq_t
2017-02-20 11:27:11 +01:00
Przemyslaw Skibinski
83775d9e05
replace times() with clock_gettime(CLOCK_MONOTONIC, x)
2017-02-20 11:11:50 +01:00
Przemyslaw Skibinski
acb6e57ad2
use FindFirstFileA instead of FindFirstFile
2017-02-15 17:13:35 +01:00
Przemyslaw Skibinski
6e59b3ce01
added UTIL_fseek
2017-02-15 17:03:16 +01:00
Przemyslaw Skibinski
442c75f132
removed UTIL_doesFileExists (replaced with UTIL_isRegFile)
2017-02-14 09:38:51 +01:00
Przemyslaw Skibinski
b876b96ce1
Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev11
2017-02-14 09:26:03 +01:00
Yann Collet
db2666c10c
Merge pull request #536 from iburinoc/multiframe
...
Simple API multiframe decoding
2017-02-13 12:18:16 -08:00
Przemyslaw Skibinski
35bf23c086
MinGW-w64 requires _FILE_OFFSET_BITS 64
2017-02-13 13:57:29 +01:00
Yann Collet
acfa151622
Merge pull request #540 from ds77/dev-stat64-fix
...
zstdcli: Fix reporting incorrect sizes of large flies on MinGW
2017-02-11 21:08:08 -08:00
Sean Purcell
5069b6c2c3
Merge branch 'dev' into multiframe
2017-02-10 10:08:55 -08:00
ds77
45f0c207ab
use _stati64() in UTIL_getFileSize() when compiling with mingw, get rid of introduces previously preprocessor checks.
2017-02-10 18:37:57 +01:00
-
7ec315df0d
fix previous commit
...
* struct _stat64 is not defined by (non-w64) MinGW releases, __stat64 should be everywhere
* proper detection of _stat64() availability (as in MinGW sys/stat.h)
2017-02-10 13:27:43 +01:00
-
19f61b534e
use _stat64 only when targetting Win2k or later
2017-02-10 10:56:45 +01:00
ds77
9cde3f8b2e
use _stat64() on MinGW
...
On MinGW, use _stat64() and struct _stat64 instead of stat() and struct stat_t. This fixes reporting incorrect sizes for large files.
2017-02-09 22:49:31 +01:00
Sean Purcell
0f5c95af44
Disambiguate pledgedSrcSize == 0
...
- Modify ZSTD CLI to only set contentSizeFlag if it _knows_ the size
- Change pzstd to stop setting contentSizeFlag without accurate pledgedSrcSize
2017-02-08 15:12:46 -08:00
Przemyslaw Skibinski
94abd6a26c
SET_REALTIME_PRIORITY
2017-02-07 16:36:19 +01:00
cyan4973
5fba09fa41
updated util's time for Windows compatibility
...
Correctly measures time on Posix systems when running with
Multi-threading
Todo : check Windows measurement under multi-threading
2017-01-20 12:57:31 -08:00
Przemyslaw Skibinski
7a8a03c20d
util.h: restore BSD license for Facebook Open-Source
2016-12-21 15:08:44 +01:00
Przemyslaw Skibinski
e679741b18
_CRT_SECURE_NO_WARNINGS moved to util.h
2016-12-21 13:47:11 +01:00
Przemyslaw Skibinski
2f6ccee6af
platform.h: removed Compiler Options
2016-12-21 13:23:34 +01:00
Przemyslaw Skibinski
5736db219e
fix basic types redefinition
2016-12-21 09:26:00 +01:00
Przemyslaw Skibinski
ead350bdc0
improved util.h and platform.h
2016-12-21 09:04:59 +01:00
Przemyslaw Skibinski
0b37205098
util.h: minor improvement
2016-12-16 17:12:23 +01:00
Przemyslaw Skibinski
b0f3663edc
imporved support for POSIX-type OSes
2016-12-16 15:41:18 +01:00
Przemyslaw Skibinski
3cdfe266cf
use PLATFORM_POSIX_VERSION
2016-12-16 15:00:50 +01:00
Przemyslaw Skibinski
b0e670a054
util.h uses platform.h
2016-12-16 14:25:12 +01:00
Dimitry Andric
83cc2fb083
Enable using isatty() and nanosleep() on *BSD
2016-12-12 19:24:51 +01:00
Yann Collet
4c6ce5a57e
Merge pull request #476 from inikep/dev11
...
Dev11
2016-12-12 16:44:55 +01:00
Przemyslaw Skibinski
c855da7533
allow all operationg systems with _POSIX_C_SOURCE >= 200112L
2016-12-12 15:37:43 +01:00
Przemyslaw Skibinski
242c036875
turn on the '-r' option for HP-UX and AIX
2016-12-12 11:59:17 +01:00
Przemyslaw Skibinski
c01ac6c30a
turn on the '-r' option for *BSD and Solaris
2016-12-12 11:23:21 +01:00
Yann Collet
fda539f50b
minor coding style changes
2016-12-12 01:03:23 +01:00
Przemyslaw Skibinski
b40884f43d
preserve file modification time for Visual C++
2016-11-03 09:54:53 +01:00
Przemyslaw Skibinski
fcf22e3473
set permissions, access and modification times
2016-11-02 14:08:07 +01:00
Przemyslaw Skibinski
d872b64f52
added UTIL_setModificationTime, UTIL_getModificationTime
2016-11-02 12:52:20 +01:00
Nick Terrell
2b4de225e1
Don't redefine macro in util.h
2016-09-22 18:02:39 -07:00
inikep
3e70cf8036
Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev
2016-09-15 20:41:40 +02:00
inikep
6173931868
fixed memory leak reported by bryongloden
2016-09-15 18:58:18 +02:00
Yann Collet
64a84edef5
added -r support for Mac OS-X
2016-09-13 17:54:37 +02:00