5390fee4f7
Rename and Move DD_BLOG Constant to ZSTD_LAZY_DDSS_BUCKET_LOG
2020-09-10 18:51:52 -04:00
5e91ae27eb
Prefetch First Batch of Match Positions; +11% Speed in Level 5 w/ 1 Dict
2020-09-10 18:51:52 -04:00
df386b3d8d
Fix Off-By-One Error in Counting DDS Search Attempts
...
This caused us to double-search the first position and fail to search the
last position in the chain, slowing down search and making it less effective.
2020-09-10 18:51:52 -04:00
a494111385
Move Prefetch Before Insertion; Speed Up ~6%
2020-09-10 18:51:52 -04:00
eede46a47e
Misc Refactor of DDS Search Code
2020-09-10 18:51:52 -04:00
34b545acb0
Add a ZSTD_dedicatedDictSearch ZSTD_dictMode_e to Allow Const Propagation
...
Speed +1.5%.
2020-09-10 18:51:52 -04:00
e29bc3a009
using dict mls instead of src mls
2020-09-10 18:51:52 -04:00
145c2d12f9
add hashtable head prefetching
2020-09-10 18:51:52 -04:00
5d5507788d
change method name for consistency
2020-09-10 18:51:52 -04:00
628559d0e4
loading dict using new algorithm
2020-09-10 18:51:52 -04:00
22705f0c93
adding dedicatedDictSearch algorithm
2020-09-10 18:51:52 -04:00
50550a14ad
adding dedicated dict load method to lazy
2020-09-10 18:51:52 -04:00
f91ed5c766
[lib] s/current/curr because it collides with Linux Kernel macro
2020-09-09 14:35:39 -07:00
70c80e19e6
[greedy] Fix performance instability
2020-05-12 17:51:16 -07:00
3c1eba4d99
[lib] Fix lazy repcode validity checks
2020-05-12 12:25:06 -07:00
4e0515916d
[lib] Fix repcode validation in no dict mode
2020-05-12 11:57:15 -07:00
4b88bd3ee0
[lib][fuzz] Assert sequences are valid in round trip tests
2020-05-11 20:38:49 -07:00
80d3585e31
[lib] Fix lazy parser with dictionary + repcodes
2020-05-11 19:04:30 -07:00
ac58c8d720
Fix copyright and license lines
...
* All copyright lines now have -2020 instead of -present
* All copyright lines include "Facebook, Inc"
* All licenses are now standardized
The copyright in `threading.{h,c}` is not changed because it comes from
zstdmt.
The copyright and license of `divsufsort.{h,c}` is not changed.
2020-03-26 17:02:06 -07:00
659e9f05cf
Fix null pointer addition
2019-11-20 18:36:04 -08:00
ddab2a94e8
Pass iend into ZSTD_storeSeq() to allow ZSTD_wildcopy()
2019-09-20 00:56:20 -07:00
facbe8b2c2
factored the logic selecting lowest match index
...
as suggested by @terrelln
2019-08-05 15:18:43 +02:00
98e7c344cd
fixed strategies btopt+
2019-08-02 14:42:53 +02:00
b4257b04e7
fixed strategy btlazy2
2019-08-02 14:26:26 +02:00
5cf1b24aca
fixed strategies greedy, lazy & lazy2
...
restore dictionary compression ratio
2019-08-02 14:21:39 +02:00
98692c2838
fixed compression ratio regression when dictionary-compressing medium-size inputs at levels 1-3
2019-08-01 15:58:17 +02:00
58adb1059f
extended exact window size to greedy/lazy modes
2019-05-31 16:08:48 -07:00
327cf6fac1
nextToUpdate3 does not need to be maintained outside of zstd_opt.c
...
It's re-synchronized with nextToUpdate at beginning of each block.
It only needs to be tracked from within zstd_opt block parser.
Made the logic clear, so that no code tried to maintain this variable.
An even better solution would be to make nextToUpdate3
an internal variable of ZSTD_compressBlock_opt_generic().
That would make it possible to remove it from ZSTD_matchState_t,
thus restricting its visibility to only where it's actually useful.
This would require deeper changes though,
since the matchState is the natural structure to transport parameters into and inside the parser.
2019-05-28 15:26:52 -07:00
e874dacc08
changed searchLength into minMatch
...
refactored all relevant API and calls
for consistency.
2018-11-20 14:56:07 -08:00
626040ab53
changed PREFETCH() macro into PREFETCH_L2()
...
which is more accurate
2018-11-12 17:05:32 -08:00
b8235be865
Avoid Searching Dictionary in ZSTD_btlazy2 When an Optimal Match is Found
...
Bailing here is important to avoid reading past the end of the input buffer.
2018-10-08 15:59:32 -07:00
d121b3451c
Clean Up Debug Log Statements
2018-10-08 15:59:32 -07:00
08da9ad316
Remove Unused Variable
2018-10-08 15:59:32 -07:00
22ddf3523a
fixed msan warning
...
on btlazy2 strategy with dictAttach
2018-10-02 18:20:20 -07:00
c2369fedc4
Restore Passing CParams to ZSTD_insertAndFindFirstIndex_internal
2018-09-28 17:12:54 -07:00
e4ac4a0f16
Support Split Logs in ZSTD_greedy..ZSTD_btlazy2
2018-09-28 17:12:54 -07:00
14764de49f
Stop Separately Passing CParams in ZSTD_lazy Internal Functions
2018-09-28 17:12:53 -07:00
dcdf437fed
Also Remove CParams from Table Filling Functions' Args
2018-09-28 17:10:42 -07:00
6cb2454646
Remove CParams from Block Compressor Functions' Args
2018-09-28 17:10:42 -07:00
f2d6db45cd
[zstd] Add -Wmissing-prototypes
2018-09-27 15:24:48 -07:00
3caba150c6
Fix dmsBtLow
Test
2018-06-21 15:53:40 -04:00
0c654d22c8
Force Inline BtFindBestMatch
2018-06-14 14:54:39 -04:00
0551de4b5a
Search Dict for Matches
2018-06-13 16:06:28 -04:00
d53200a846
Fix Cast Warning
2018-06-13 14:58:36 -04:00
b82063b266
Extend Dictionary Matches Backwards
2018-06-13 14:58:36 -04:00
2162aa9f18
Do Not Inline DMS Search Function
2018-06-13 14:58:36 -04:00
338bede9b5
Also Implement Depth Repcode Checks
2018-06-13 14:58:36 -04:00
555ab9f8cf
Apply Match Continuation Bug Fix
2018-06-13 14:58:36 -04:00
6204b6d592
Check Dict Match State in ZSTD_HcFindBestMatch_generic
2018-06-13 14:58:36 -04:00
2e93736a77
Remove Pre-Existing Repcode Check
2018-06-13 14:58:36 -04:00