97 Commits

Author SHA1 Message Date
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
Yann Collet
3583d19c4e changed parameter names from ZSTD_p_* to ZSTD_c_*
for naming consistency
2018-12-05 17:26:02 -08:00
Yann Collet
5373e44ba7 fixed contrib/adaptive-compression 2018-03-15 17:10:15 -07:00
Yann Collet
b0cb081dc8 last batch of header files changed to reflect new license (#825)
only remains to update contrib/linux-kernel (@terrelln)
2017-08-31 12:20:50 -07:00
Paul Cruz
fc90469587 updated program name print statement 2017-08-10 16:11:59 -07:00
Paul Cruz
7069bb9458 Merge branch 'adapt-approach-4' into bug-fixes 2017-08-07 13:18:53 -07:00
Paul Cruz
e100a311eb removed direct assignment of 22, used ZSTD_maxCLevel() instead 2017-08-07 13:11:07 -07:00
Paul Cruz
01237e3b35 changed multi to zstd-adaptive in the help menu 2017-08-03 15:13:49 -07:00
Paul Cruz
8be7bba08c added mutex for compression level to avoid data race 2017-08-02 10:27:33 -07:00
Paul Cruz
69ef22c0ac added detach statements to prevent resource leak 2017-08-01 17:36:13 -07:00
Paul Cruz
0295737ad7 change signal to broadcast for jobCompressed condition varaible since multiple threads waiting 2017-07-31 13:43:03 -07:00
Paul Cruz
f60cd3f99b print defaults and range, remove EXT 2017-07-31 09:47:09 -07:00
Paul Cruz
e22b60cb76 removed ternary operation, added assert statement, check to make sure initial compression level is within bounds 2017-07-28 17:46:51 -07:00
Paul Cruz
cb9af53e77 delete empty line 2017-07-28 17:28:25 -07:00
Paul Cruz
0f4cb67b00 add tests for compression bounds, fix another warning 2017-07-28 15:55:02 -07:00
Paul Cruz
ff54fced64 patched style errors, add ability to bound compression level variation 2017-07-28 15:30:46 -07:00
Paul Cruz
2320e7378a remove unused variable, add documentation for context fields 2017-07-26 17:02:47 -07:00
Paul Cruz
ab5a78547e fix leaky abstraction regarding measuring completion 2017-07-26 16:40:05 -07:00
Paul Cruz
715f36ca81 added definitions for conversion constants, moved forced compression check to top of adaptCompressionLevel, used ZSTD_BLOCKSIZE_MAX 2017-07-26 15:52:15 -07:00
Paul Cruz
6c1c1242fc set the window log value before performing compression 2017-07-26 14:29:59 -07:00
Paul Cruz
a959cc881a moved reset of completion to right after wait 2017-07-26 10:34:48 -07:00
Paul Cruz
305d5ee70f change to >= convergence counter 2017-07-26 10:20:29 -07:00
Paul Cruz
be92a38d6a decrease completion requirements for change, move create thread wait, merge cases where compression thread should wait 2017-07-26 10:05:10 -07:00
Paul Cruz
0b18d21e03 building on readme, added another help tip in the menu 2017-07-25 17:47:02 -07:00
Paul Cruz
8dbb07d822 updated progress bar with better representation of time, added const 2017-07-25 16:03:43 -07:00
Paul Cruz
9a132707af changing time units to seconds 2017-07-25 15:26:26 -07:00
Paul Cruz
31a9ed9883 updated const values, added more comments 2017-07-25 14:53:40 -07:00
Paul Cruz
5cfbf609a4 removed old debug statements no longer being used 2017-07-25 14:31:48 -07:00
Paul Cruz
0882cd1981 progress bar -- don't print num jobs, time elapsed shown in seconds 2017-07-25 14:26:55 -07:00
Paul Cruz
310c12d07e moved debug statements to a compiler flag 2017-07-25 14:08:39 -07:00
Paul Cruz
e02c79f833 started using decrease cooldown so that compression level would not decrease several times in a row 2017-07-25 11:16:27 -07:00
Paul Cruz
85d7c919f6 created independent function for controlling how completion relates to compression level change 2017-07-25 10:32:14 -07:00
Paul Cruz
6f1e260edd added mechanism for getting rid of spikes 2017-07-25 10:01:10 -07:00
Paul Cruz
700758d676 added help statement for -p, switched it to hide progress bar now that progress bar is default 2017-07-24 16:26:20 -07:00
Paul Cruz
df3754b6ed add quiet option, make progress bar default 2017-07-24 16:19:07 -07:00
Paul Cruz
4dc83ca64c compression thread should take measurements independently based on whether or not the create/write thread will actually bottleneck performance 2017-07-24 15:14:58 -07:00
Paul Cruz
0ee3f8c2f8 adding more debug 2017-07-24 15:06:11 -07:00
Paul Cruz
8328f8192a updating debug statements again 2017-07-24 14:40:23 -07:00
Paul Cruz
d3d759301f changing position of endline for debug 2017-07-24 13:47:39 -07:00
Paul Cruz
e508f632d6 updated comments and debug statements 2017-07-24 11:01:36 -07:00
Paul Cruz
483d936b87 reduced competition for completion mutex by separating mutex use based on which values is updated 2017-07-23 14:09:16 -07:00
Paul Cruz
880f08d104 change how completion is measured in compression thread 2017-07-23 10:18:54 -07:00
Paul Cruz
08d9e42ec6 removed useless measurements 2017-07-21 18:02:55 -07:00
Paul Cruz
95bef759b3 switched over to model where reading only waits on compression thread 2017-07-21 17:49:39 -07:00
Paul Cruz
6455ec482c taking the maximum of the completion level reads in order to determine which one was waiting more 2017-07-21 16:05:01 -07:00
Paul Cruz
05fe8dd47c updating debug statements 2017-07-21 14:06:24 -07:00
Paul Cruz
db109f8fef measure multiple completion levels during each wait 2017-07-21 13:38:24 -07:00
Paul Cruz
721c6a8b97 added bounding to compression level change 2017-07-21 09:30:24 -07:00
Paul Cruz
e929d3b787 added priority decision making for adapt compression level 2017-07-21 09:26:35 -07:00
Paul Cruz
9259c7afa4 semi working version that stabilizes 2017-07-20 18:45:33 -07:00