1
0
mirror of https://github.com/facebook/zstd.git synced 2025-07-05 07:00:22 +02:00
Commit Graph

105 Commits

Author SHA1 Message Date
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
e5811e5520 Extract file comparison into utility func 2019-03-23 19:04:56 -07:00
65a441a8f0 fixed stdlib implementation of time functions
generated redefinitions
2018-12-20 14:02:50 -08:00
173ef9dea2 fixed : detection of non-existing file
better error message
with test
2018-12-19 18:30:57 -08:00
91b2fed8f8 Moving more function to the new C file 2018-10-11 17:34:47 -07:00
a47f6e6f2d Removing static and making extern 2018-10-11 16:51:29 -07:00
705e0b18ab Making changes to make it compile on my laptop 2018-10-11 15:51:57 -07:00
b19140bc13 Fixed makefile and removed multiple definitions from util.h (UTIL_getTime) 2018-10-11 15:17:40 -07:00
d6d240f016 Removed UTIL_setFileStat from util.h and move it to util.c 2018-10-11 15:07:12 -07:00
f881ee8c48 Moving code to util.c 2018-10-11 14:38:41 -07:00
4a85b126d9 changed ZSTD_NANOSLEEP_SUPPORT definition
to please `-Wexpansion-to-defined`
2018-10-03 15:34:41 -07:00
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
09231dad4d [util] Fix lstat feature test macro 2018-09-28 15:23:09 -07:00
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
deb03d8a26 fixed UTIL_isLink() for Mac OS-X 2018-09-06 17:32:16 -07:00
39c55a118f fixed minor compatibility issues with older compilers 2018-08-30 16:00:57 -07:00
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
f741fb8fcd minor fixes for MSYS2 compilation 2018-06-26 01:22:45 -07:00
b567ce9d68 Fix name of macOS 2018-06-09 14:31:17 -05:00
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
fd63140e1c [util] Refuse to set file stat on non-regular file 2018-01-05 11:44:25 -08:00
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
0097469238 removed a few redundant #include 2017-12-04 16:02:42 -08:00
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
dab8cfa3c7 Combine definitions of SEC_TO_MICRO 2017-11-30 19:40:53 -08:00
9a2f6f477b Use util.h for timing 2017-11-30 14:57:25 -08:00
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
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
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
bc41c7f0eb fixed minor prototype warning 2017-09-12 19:32:26 -07:00
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
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
3128e03be6 updated license header
to clarify dual-license meaning as "or"
2017-09-08 00:09:23 -07:00
4299c27132 improved console log of utils.h
removed a warning when compiling on Windows
2017-08-31 16:58:47 -07:00
232d62b637 fixed a few headers that were too hastily copy/pasted during last license change 2017-08-21 11:24:32 -07:00
32fb407c9d updated a bunch of headers
for the new license
2017-08-18 16:52:05 -07:00
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
46ac9ade9b fixed vla warning on linux 2017-05-15 18:15:08 -07:00
7dd14d03b0 Enable multithreading on BSD 2017-04-15 16:25:08 +02:00
e4f3235c85 Add 0 initializers to static variables 2017-04-13 16:34:28 -07:00
9227aae001 Fix clang linux compilation 2017-04-13 14:06:40 -07:00
3b6207d4bd Fix compilation on windows 2017-04-13 14:04:10 -07:00
f876f1200c Fix compilation on macOS 2017-04-13 12:33:45 -07:00
afa48518e2 -T0 detects number of physical cores 2017-04-13 12:28:28 -07:00
5152fb2cb2 Convert all tabs to spaces 2017-03-29 18:51:58 -07:00
dee08caabb Fix displayLevel redefinition issues 2017-03-23 12:09:35 -07:00
680e4e0953 Ignore symbolic links unless --force specified 2017-03-23 11:52:09 -07:00
74dcd8d15f bench.c: use a single ticksPerSecond 2017-02-21 12:22:05 +01:00
1b59333c82 util.h: restore times() 2017-02-21 07:33:45 +01:00
da4a0f30af util.h: use mach_absolute_time for macOS 2017-02-20 12:18:15 +01:00