Nick Terrell

Results 153 comments of Nick Terrell

I've improved the documentation in PR #1516.

These are all macros that if they aren't defined, `zstd.h` and friends define them. I guess that Swift then sees those macros as defined, and errors. Looking into this.

@yyaroshevich we don't really know how to fix it, and don't have the setup to reproduce it easily. If you find a fix we'd happily accept a PR!

> One difference I can think of is using fractional bit evaluation That was my thought, since the regression is caused by btultra having 2x more literals. But I disabled...

This is the minimal changes that fix the issue. Making one change or the other doesn't do anything, you need both. ```diff diff --git a/lib/compress/zstd_opt.c b/lib/compress/zstd_opt.c index e55c459d..995a8251 100644 ---...

I think the root cause is actually a case of not being to evaluate repcode choice. At some point, `zstd_btultra` decides to take an offset instead of adding 2 literals...

Running my [multi-arrivial](https://github.com/terrelln/zstd/commit/f451c64c93730e7b1e24ebcfcc4449bee9fa2b36) branch which stores the 8 best arrivals for each position, and checks non-repcodes for the best arrival, and repcodes for every arrival. It is very slow, but...

> It shows that, depending on gradiant decent, itself dependent on initialization and, well, almost random luck, then one or the other get stuck into a "good" or "bad" state...

@senhuang42 this file would be an interesting test case for block splitting with RLE. It is extremely regular so you should be able to build large blocks that are RLE...

Nice! Is it emitting RLE blocks?