Skip to content

targetLength for lazy strategy#964

Closed
Cyan4973 wants to merge 7 commits intodevfrom
hclazy
Closed

targetLength for lazy strategy#964
Cyan4973 wants to merge 7 commits intodevfrom
hclazy

Conversation

@Cyan4973
Copy link
Contributor

@Cyan4973 Cyan4973 commented Dec 27, 2017

This patch adds support for targetLength parameter for "lazy" strategies (zstd_lazy.c).

The impact is moderate, because lazy strategies already skip a lot of positions by design (in contrast with optimal, which may only skip when it reaches targetLength). For lazy strategy, targetLength parameter triggers skip a bit more often, mostly when the value of targetLength is small enough.

All compression level tables have been updated to use the new parameter.

The impact is not earth shattering. Mostly, it translates into a different position in the speed / compression curb. Levels 6-9 are where the impact is most visible, and even then, it remains a relatively small improvement.

@Cyan4973
Copy link
Contributor Author

Cyan4973 commented Jan 12, 2018

I'm not completely satisfied by the usefulness of this patch.
The initial expectation was that it would allow more combinations, eventually finding some "good" ones offering better compression / speed trade-off than existing ones.

But the result is underwhelming : there are indeed more combinations, but they merely allow to move along the same line of trade-off, with no noticeable "win" (improving both speed and compression ratio).

Therefore, this patch adds complexity, but doesn't deliver much in exchange.
While increased parameters accuracy is in theory welcomed, I'm not sure it deserves the associated complexity cost.

Therefore, I'll put this patch aside for the time being.

@Cyan4973 Cyan4973 closed this Jan 12, 2018
@Cyan4973 Cyan4973 deleted the hclazy branch February 11, 2018 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants