Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

@saucecontrol
Copy link
Member

@saucecontrol saucecontrol commented Feb 8, 2019

(Perf patch moved to #35315)

Update Brotli to current release tag v1.0.7

Fix Compress_Canterbury_WithState to vary compressLevel

@saucecontrol
Copy link
Member Author

CI failures appear to be unrelated.

I also just noticed brotli-version.txt which appears to be redundant given the existence of brotli/common/version.h, which is updated in this PR. Is it ok if I just remove brotli-version.txt rather than updating it?

@danmoseley
Copy link
Member

adding area owners to review.

@ahsonkhan ahsonkhan requested a review from ViktorHofer February 9, 2019 00:53
@ahsonkhan
Copy link

Is it ok if I just remove brotli-version.txt rather than updating it?

It was added based on feedback here: #30751 (comment)

I think we should continue to update it, if you don't mind.

cc @janvorli

@saucecontrol
Copy link
Member Author

saucecontrol commented Feb 10, 2019

I think we should continue to update it, if you don't mind.

Done.

(Removed now-unrelated perf results)

@saucecontrol
Copy link
Member Author

I just noticed the Compress_Canterbury_WithState perf test wasn't using its compressLevel argument, so it was just running with q=11 every time. Updated to fix.

@saucecontrol saucecontrol force-pushed the brotli-update branch 2 times, most recently from 3641366 to a6e6e5c Compare February 11, 2019 09:09
@ahsonkhan
Copy link

Brotli has been updated to v1.0.7 in the Google repo. The first commit in this PR syncs up with the latest release tag

Can we separate the update to v1.0.7 and the MSVC change into two separate PRs? I think we should upgrade to v1.0.7 and get that checked in first (with performance measurements) and then update to the newer version of brotli with your MSVC change once the PR you linked to is merged. I am fine with opening the PR for review, but I am not sure we should merge the MSVC patch in both places.

@saucecontrol
Copy link
Member Author

Yep, I'll go ahead and split it up. Shouldn't be any perf difference on Windows between v1.0.5 and v1.0.7, as the changes seem to be all ARM-specific, but I'll double-check.

My only concern with waiting for the MSVC intrinsics change to be merged in the Google repo is that it looks like there is some work in progress for their next version (shared Brotli?) that may take a while. Given the perf gain, I hope you'll consider taking that change before the 3.0 release with the understanding it will be "official" by the time we sync up with the Google repo again post-3.0.

@saucecontrol saucecontrol changed the title Update brotli to v1.0.7, speed up MSVC-built versions Update brotli to v1.0.7 Feb 14, 2019
@saucecontrol
Copy link
Member Author

Removed the MSVC intrinsics patch and re-ran corrected perf tests on master (v1.0.5) vs this v1.0.7 update. No significant perf differences

System.IO.Compression.Brotli.PerformanceTests.dll                       |  Average | STDEV.S |      Min |      Max
:---------------------------------------------------------------------- | --------:| -------:| --------:| --------:
-  Compress_Canterbury_WithoutState("alice29.txt", Fastest)             |    1.250 |   0.177 |    1.079 |    1.955
+  Compress_Canterbury_WithoutState("alice29.txt", Fastest)             |    1.219 |   0.146 |    1.107 |    1.868
-  Compress_Canterbury_WithoutState("alice29.txt", NoCompression)       |    1.010 |   0.209 |    0.869 |    1.896
+  Compress_Canterbury_WithoutState("alice29.txt", NoCompression)       |    0.968 |   0.139 |    0.862 |    1.549
-  Compress_Canterbury_WithoutState("alice29.txt", Optimal)             |  266.848 |   3.871 |  258.060 |  276.294
+  Compress_Canterbury_WithoutState("alice29.txt", Optimal)             |  269.169 |   8.673 |  261.588 |  311.027
-  Compress_Canterbury_WithoutState("asyoulik.txt", Fastest)            |    1.043 |   0.115 |    0.926 |    1.431
+  Compress_Canterbury_WithoutState("asyoulik.txt", Fastest)            |    1.056 |   0.168 |    0.917 |    1.940
-  Compress_Canterbury_WithoutState("asyoulik.txt", NoCompression)      |    0.872 |   0.156 |    0.752 |    1.396
+  Compress_Canterbury_WithoutState("asyoulik.txt", NoCompression)      |    0.875 |   0.214 |    0.743 |    2.532
-  Compress_Canterbury_WithoutState("asyoulik.txt", Optimal)            |  210.389 |   3.129 |  203.258 |  216.819
+  Compress_Canterbury_WithoutState("asyoulik.txt", Optimal)            |  209.849 |   3.078 |  204.861 |  216.708
-  Compress_Canterbury_WithoutState("cp.html", Fastest)                 |    0.170 |   0.017 |    0.162 |    0.265
+  Compress_Canterbury_WithoutState("cp.html", Fastest)                 |    0.170 |   0.018 |    0.158 |    0.286
-  Compress_Canterbury_WithoutState("cp.html", NoCompression)           |    0.134 |   0.005 |    0.128 |    0.153
+  Compress_Canterbury_WithoutState("cp.html", NoCompression)           |    0.142 |   0.037 |    0.125 |    0.347
-  Compress_Canterbury_WithoutState("cp.html", Optimal)                 |   37.171 |   3.145 |   34.034 |   57.480
+  Compress_Canterbury_WithoutState("cp.html", Optimal)                 |   36.413 |   1.355 |   34.136 |   40.683
-  Compress_Canterbury_WithoutState("fields.c", Fastest)                |    0.075 |   0.006 |    0.070 |    0.108
+  Compress_Canterbury_WithoutState("fields.c", Fastest)                |    0.082 |   0.020 |    0.070 |    0.157
-  Compress_Canterbury_WithoutState("fields.c", NoCompression)          |    0.060 |   0.003 |    0.057 |    0.072
+  Compress_Canterbury_WithoutState("fields.c", NoCompression)          |    0.059 |   0.006 |    0.054 |    0.090
-  Compress_Canterbury_WithoutState("fields.c", Optimal)                |   17.580 |   0.860 |   16.088 |   20.159
+  Compress_Canterbury_WithoutState("fields.c", Optimal)                |   17.749 |   0.879 |   16.289 |   22.570
-  Compress_Canterbury_WithoutState("grammar.lsp", Fastest)             |    0.026 |   0.005 |    0.023 |    0.065
+  Compress_Canterbury_WithoutState("grammar.lsp", Fastest)             |    0.026 |   0.006 |    0.024 |    0.072
-  Compress_Canterbury_WithoutState("grammar.lsp", NoCompression)       |    0.018 |   0.002 |    0.016 |    0.031
+  Compress_Canterbury_WithoutState("grammar.lsp", NoCompression)       |    0.019 |   0.002 |    0.017 |    0.031
-  Compress_Canterbury_WithoutState("grammar.lsp", Optimal)             |    6.760 |   0.547 |    5.956 |    8.552
+  Compress_Canterbury_WithoutState("grammar.lsp", Optimal)             |    6.770 |   0.614 |    6.038 |    9.409
-  Compress_Canterbury_WithoutState("kennedy.xls", Fastest)             |    4.122 |   0.494 |    3.566 |    6.942
+  Compress_Canterbury_WithoutState("kennedy.xls", Fastest)             |    4.408 |   0.570 |    3.887 |    6.367
-  Compress_Canterbury_WithoutState("kennedy.xls", NoCompression)       |    3.076 |   0.667 |    2.642 |    8.453
+  Compress_Canterbury_WithoutState("kennedy.xls", NoCompression)       |    2.867 |   0.201 |    2.664 |    3.680
-  Compress_Canterbury_WithoutState("kennedy.xls", Optimal)             | 2639.776 |   6.009 | 2633.459 | 2647.934
+  Compress_Canterbury_WithoutState("kennedy.xls", Optimal)             | 2666.949 |  39.429 | 2638.025 | 2723.019
-  Compress_Canterbury_WithoutState("lcet10.txt", Fastest)              |    3.712 |   0.382 |    3.265 |    5.013
+  Compress_Canterbury_WithoutState("lcet10.txt", Fastest)              |    3.683 |   0.391 |    3.325 |    5.012
-  Compress_Canterbury_WithoutState("lcet10.txt", NoCompression)        |    2.684 |   0.336 |    2.398 |    3.916
+  Compress_Canterbury_WithoutState("lcet10.txt", NoCompression)        |    2.661 |   0.234 |    2.413 |    3.569
-  Compress_Canterbury_WithoutState("lcet10.txt", Optimal)              |  845.714 |  19.106 |  828.511 |  889.502
+  Compress_Canterbury_WithoutState("lcet10.txt", Optimal)              |  837.574 |  16.980 |  824.885 |  880.225
-  Compress_Canterbury_WithoutState("plrabn12.txt", Fastest)            |    4.467 |   0.452 |    3.920 |    6.969
+  Compress_Canterbury_WithoutState("plrabn12.txt", Fastest)            |    4.419 |   0.436 |    3.969 |    6.265
-  Compress_Canterbury_WithoutState("plrabn12.txt", NoCompression)      |    3.459 |   0.356 |    3.076 |    4.605
+  Compress_Canterbury_WithoutState("plrabn12.txt", NoCompression)      |    3.517 |   0.357 |    3.106 |    4.685
-  Compress_Canterbury_WithoutState("plrabn12.txt", Optimal)            |  913.597 |  21.689 |  900.996 |  977.113
+  Compress_Canterbury_WithoutState("plrabn12.txt", Optimal)            |  906.004 |   7.378 |  897.405 |  917.548
-  Compress_Canterbury_WithoutState("ptt5", Fastest)                    |    1.168 |   0.085 |    1.118 |    1.628
+  Compress_Canterbury_WithoutState("ptt5", Fastest)                    |    1.199 |   0.132 |    1.075 |    1.703
-  Compress_Canterbury_WithoutState("ptt5", NoCompression)              |    1.034 |   0.059 |    1.007 |    1.395
+  Compress_Canterbury_WithoutState("ptt5", NoCompression)              |    1.072 |   0.124 |    0.977 |    1.764
-  Compress_Canterbury_WithoutState("ptt5", Optimal)                    | 1351.064 |   7.647 | 1339.880 | 1365.649
+  Compress_Canterbury_WithoutState("ptt5", Optimal)                    | 1355.112 |  11.336 | 1339.058 | 1371.698
-  Compress_Canterbury_WithoutState("sum", Fastest)                     |    0.268 |   0.077 |    0.201 |    0.596
+  Compress_Canterbury_WithoutState("sum", Fastest)                     |    0.269 |   0.075 |    0.201 |    0.510
-  Compress_Canterbury_WithoutState("sum", NoCompression)               |    0.170 |   0.011 |    0.161 |    0.217
+  Compress_Canterbury_WithoutState("sum", NoCompression)               |    0.174 |   0.031 |    0.152 |    0.335
-  Compress_Canterbury_WithoutState("sum", Optimal)                     |   63.053 |   6.514 |   57.643 |  114.634
+  Compress_Canterbury_WithoutState("sum", Optimal)                     |   62.296 |   2.100 |   58.130 |   74.047
-  Compress_Canterbury_WithoutState("TestDocument.doc", Fastest)        |    0.125 |   0.045 |    0.085 |    0.365
+  Compress_Canterbury_WithoutState("TestDocument.doc", Fastest)        |    0.101 |   0.028 |    0.087 |    0.252
-  Compress_Canterbury_WithoutState("TestDocument.doc", NoCompression)  |    0.066 |   0.015 |    0.061 |    0.206
+  Compress_Canterbury_WithoutState("TestDocument.doc", NoCompression)  |    0.068 |   0.015 |    0.058 |    0.166
-  Compress_Canterbury_WithoutState("TestDocument.doc", Optimal)        |   37.191 |   3.913 |   34.487 |   72.200
+  Compress_Canterbury_WithoutState("TestDocument.doc", Optimal)        |   37.074 |   3.662 |   33.985 |   68.344
-  Compress_Canterbury_WithoutState("TestDocument.docx", Fastest)       |    0.074 |   0.011 |    0.067 |    0.136
+  Compress_Canterbury_WithoutState("TestDocument.docx", Fastest)       |    0.072 |   0.012 |    0.066 |    0.135
-  Compress_Canterbury_WithoutState("TestDocument.docx", NoCompression) |    0.067 |   0.004 |    0.065 |    0.089
+  Compress_Canterbury_WithoutState("TestDocument.docx", NoCompression) |    0.068 |   0.007 |    0.063 |    0.109
-  Compress_Canterbury_WithoutState("TestDocument.docx", Optimal)       |   37.224 |   1.076 |   34.914 |   41.513
+  Compress_Canterbury_WithoutState("TestDocument.docx", Optimal)       |   37.430 |   1.468 |   34.866 |   44.357
-  Compress_Canterbury_WithoutState("TestDocument.pdf", Fastest)        |    0.433 |   0.090 |    0.376 |    0.892
+  Compress_Canterbury_WithoutState("TestDocument.pdf", Fastest)        |    0.425 |   0.109 |    0.370 |    1.241
-  Compress_Canterbury_WithoutState("TestDocument.pdf", NoCompression)  |    0.328 |   0.040 |    0.301 |    0.478
+  Compress_Canterbury_WithoutState("TestDocument.pdf", NoCompression)  |    0.322 |   0.034 |    0.301 |    0.492
-  Compress_Canterbury_WithoutState("TestDocument.pdf", Optimal)        |  572.625 |  15.214 |  556.434 |  629.929
+  Compress_Canterbury_WithoutState("TestDocument.pdf", Optimal)        |  566.702 |   3.411 |  561.637 |  573.785
-  Compress_Canterbury_WithoutState("TestDocument.txt", Fastest)        |    0.095 |   0.024 |    0.083 |    0.213
+  Compress_Canterbury_WithoutState("TestDocument.txt", Fastest)        |    0.095 |   0.020 |    0.082 |    0.206
-  Compress_Canterbury_WithoutState("TestDocument.txt", NoCompression)  |    0.026 |   0.003 |    0.024 |    0.046
+  Compress_Canterbury_WithoutState("TestDocument.txt", NoCompression)  |    0.026 |   0.008 |    0.023 |    0.095
-  Compress_Canterbury_WithoutState("TestDocument.txt", Optimal)        |    4.011 |   0.371 |    3.516 |    5.263
+  Compress_Canterbury_WithoutState("TestDocument.txt", Optimal)        |    4.081 |   0.335 |    3.657 |    5.216
-  Compress_Canterbury_WithoutState("xargs.1", Fastest)                 |    0.039 |   0.013 |    0.030 |    0.092
+  Compress_Canterbury_WithoutState("xargs.1", Fastest)                 |    0.032 |   0.004 |    0.030 |    0.054
-  Compress_Canterbury_WithoutState("xargs.1", NoCompression)           |    0.022 |   0.003 |    0.020 |    0.038
+  Compress_Canterbury_WithoutState("xargs.1", NoCompression)           |    0.022 |   0.003 |    0.020 |    0.042
-  Compress_Canterbury_WithoutState("xargs.1", Optimal)                 |    7.681 |   0.551 |    6.945 |   10.516
+  Compress_Canterbury_WithoutState("xargs.1", Optimal)                 |    7.794 |   0.720 |    6.799 |   11.297
-  Compress_Canterbury_WithState("alice29.txt", Fastest)                |    1.230 |   0.142 |    1.140 |    1.710
+  Compress_Canterbury_WithState("alice29.txt", Fastest)                |    1.272 |   0.196 |    1.085 |    2.001
-  Compress_Canterbury_WithState("alice29.txt", NoCompression)          |    0.990 |   0.157 |    0.883 |    1.893
+  Compress_Canterbury_WithState("alice29.txt", NoCompression)          |    1.012 |   0.207 |    0.866 |    2.055
-  Compress_Canterbury_WithState("alice29.txt", Optimal)                |  266.231 |   3.028 |  261.082 |  273.330
+  Compress_Canterbury_WithState("alice29.txt", Optimal)                |  266.630 |   3.853 |  258.220 |  275.258
-  Compress_Canterbury_WithState("asyoulik.txt", Fastest)               |    1.089 |   0.266 |    0.920 |    2.156
+  Compress_Canterbury_WithState("asyoulik.txt", Fastest)               |    1.065 |   0.202 |    0.924 |    2.048
-  Compress_Canterbury_WithState("asyoulik.txt", NoCompression)         |    0.870 |   0.091 |    0.802 |    1.293
+  Compress_Canterbury_WithState("asyoulik.txt", NoCompression)         |    0.884 |   0.134 |    0.757 |    1.317
-  Compress_Canterbury_WithState("asyoulik.txt", Optimal)               |  210.352 |   3.359 |  202.007 |  218.293
+  Compress_Canterbury_WithState("asyoulik.txt", Optimal)               |  210.875 |   2.871 |  205.030 |  218.782
-  Compress_Canterbury_WithState("cp.html", Fastest)                    |    0.169 |   0.021 |    0.155 |    0.302
+  Compress_Canterbury_WithState("cp.html", Fastest)                    |    0.195 |   0.038 |    0.161 |    0.327
-  Compress_Canterbury_WithState("cp.html", NoCompression)              |    0.177 |   0.038 |    0.137 |    0.334
+  Compress_Canterbury_WithState("cp.html", NoCompression)              |    0.147 |   0.020 |    0.140 |    0.267
-  Compress_Canterbury_WithState("cp.html", Optimal)                    |   35.563 |   1.349 |   33.142 |   41.286
+  Compress_Canterbury_WithState("cp.html", Optimal)                    |   36.039 |   1.416 |   33.062 |   41.167
-  Compress_Canterbury_WithState("fields.c", Fastest)                   |    0.078 |   0.015 |    0.073 |    0.211
+  Compress_Canterbury_WithState("fields.c", Fastest)                   |    0.076 |   0.010 |    0.073 |    0.157
-  Compress_Canterbury_WithState("fields.c", NoCompression)             |    0.071 |   0.008 |    0.066 |    0.129
+  Compress_Canterbury_WithState("fields.c", NoCompression)             |    0.071 |   0.008 |    0.065 |    0.116
-  Compress_Canterbury_WithState("fields.c", Optimal)                   |   17.023 |   0.813 |   15.862 |   19.505
+  Compress_Canterbury_WithState("fields.c", Optimal)                   |   17.252 |   0.772 |   15.661 |   20.173
-  Compress_Canterbury_WithState("grammar.lsp", Fastest)                |    0.027 |   0.005 |    0.024 |    0.049
+  Compress_Canterbury_WithState("grammar.lsp", Fastest)                |    0.029 |   0.007 |    0.024 |    0.073
-  Compress_Canterbury_WithState("grammar.lsp", NoCompression)          |    0.028 |   0.011 |    0.024 |    0.118
+  Compress_Canterbury_WithState("grammar.lsp", NoCompression)          |    0.029 |   0.020 |    0.023 |    0.212
-  Compress_Canterbury_WithState("grammar.lsp", Optimal)                |    6.659 |   0.542 |    5.876 |    8.249
+  Compress_Canterbury_WithState("grammar.lsp", Optimal)                |    6.827 |   0.601 |    5.940 |    8.774
-  Compress_Canterbury_WithState("kennedy.xls", Fastest)                |    4.031 |   0.387 |    3.550 |    5.365
+  Compress_Canterbury_WithState("kennedy.xls", Fastest)                |    4.086 |   0.446 |    3.662 |    5.758
-  Compress_Canterbury_WithState("kennedy.xls", NoCompression)          |    2.880 |   0.167 |    2.705 |    3.539
+  Compress_Canterbury_WithState("kennedy.xls", NoCompression)          |    3.051 |   0.443 |    2.627 |    4.761
-  Compress_Canterbury_WithState("kennedy.xls", Optimal)                | 2666.414 |  28.442 | 2642.108 | 2707.447
+  Compress_Canterbury_WithState("kennedy.xls", Optimal)                | 2663.118 |   5.475 | 2655.548 | 2667.177
-  Compress_Canterbury_WithState("lcet10.txt", Fastest)                 |    3.665 |   0.365 |    3.236 |    5.003
+  Compress_Canterbury_WithState("lcet10.txt", Fastest)                 |    3.403 |   0.375 |    2.980 |    4.818
-  Compress_Canterbury_WithState("lcet10.txt", NoCompression)           |    2.699 |   0.286 |    2.394 |    3.745
+  Compress_Canterbury_WithState("lcet10.txt", NoCompression)           |    2.695 |   0.308 |    2.389 |    3.787
-  Compress_Canterbury_WithState("lcet10.txt", Optimal)                 |  834.830 |   7.398 |  824.181 |  849.812
+  Compress_Canterbury_WithState("lcet10.txt", Optimal)                 |  841.948 |  21.321 |  827.811 |  908.402
-  Compress_Canterbury_WithState("plrabn12.txt", Fastest)               |    4.413 |   0.442 |    3.928 |    5.863
+  Compress_Canterbury_WithState("plrabn12.txt", Fastest)               |    4.439 |   0.403 |    3.923 |    5.569
-  Compress_Canterbury_WithState("plrabn12.txt", NoCompression)         |    3.490 |   0.362 |    3.121 |    5.196
+  Compress_Canterbury_WithState("plrabn12.txt", NoCompression)         |    3.405 |   0.312 |    3.096 |    4.843
-  Compress_Canterbury_WithState("plrabn12.txt", Optimal)               |  907.472 |   9.393 |  892.969 |  928.157
+  Compress_Canterbury_WithState("plrabn12.txt", Optimal)               |  902.867 |   9.481 |  892.144 |  926.019
-  Compress_Canterbury_WithState("ptt5", Fastest)                       |    1.185 |   0.165 |    1.011 |    1.792
+  Compress_Canterbury_WithState("ptt5", Fastest)                       |    1.202 |   0.145 |    1.087 |    1.767
-  Compress_Canterbury_WithState("ptt5", NoCompression)                 |    1.074 |   0.077 |    1.018 |    1.392
+  Compress_Canterbury_WithState("ptt5", NoCompression)                 |    1.108 |   0.162 |    0.959 |    1.750
-  Compress_Canterbury_WithState("ptt5", Optimal)                       | 1343.363 |   7.368 | 1334.707 | 1358.626
+  Compress_Canterbury_WithState("ptt5", Optimal)                       | 1354.923 |   8.380 | 1343.445 | 1368.249
-  Compress_Canterbury_WithState("sum", Fastest)                        |    0.223 |   0.042 |    0.200 |    0.461
+  Compress_Canterbury_WithState("sum", Fastest)                        |    0.227 |   0.048 |    0.202 |    0.526
-  Compress_Canterbury_WithState("sum", NoCompression)                  |    0.182 |   0.022 |    0.172 |    0.324
+  Compress_Canterbury_WithState("sum", NoCompression)                  |    0.182 |   0.025 |    0.170 |    0.371
-  Compress_Canterbury_WithState("sum", Optimal)                        |   60.880 |   1.625 |   56.958 |   66.287
+  Compress_Canterbury_WithState("sum", Optimal)                        |   62.217 |   3.787 |   58.357 |   86.804
-  Compress_Canterbury_WithState("TestDocument.doc", Fastest)           |    0.091 |   0.017 |    0.082 |    0.200
+  Compress_Canterbury_WithState("TestDocument.doc", Fastest)           |    0.101 |   0.033 |    0.086 |    0.309
-  Compress_Canterbury_WithState("TestDocument.doc", NoCompression)     |    0.077 |   0.010 |    0.073 |    0.139
+  Compress_Canterbury_WithState("TestDocument.doc", NoCompression)     |    0.081 |   0.014 |    0.071 |    0.132
-  Compress_Canterbury_WithState("TestDocument.doc", Optimal)           |   36.424 |   1.138 |   34.194 |   40.781
+  Compress_Canterbury_WithState("TestDocument.doc", Optimal)           |   37.342 |   3.309 |   34.386 |   55.877
-  Compress_Canterbury_WithState("TestDocument.docx", Fastest)          |    0.077 |   0.007 |    0.071 |    0.106
+  Compress_Canterbury_WithState("TestDocument.docx", Fastest)          |    0.074 |   0.015 |    0.068 |    0.181
-  Compress_Canterbury_WithState("TestDocument.docx", NoCompression)    |    0.086 |   0.014 |    0.075 |    0.138
+  Compress_Canterbury_WithState("TestDocument.docx", NoCompression)    |    0.075 |   0.005 |    0.072 |    0.110
-  Compress_Canterbury_WithState("TestDocument.docx", Optimal)          |   37.055 |   1.011 |   34.977 |   39.634
+  Compress_Canterbury_WithState("TestDocument.docx", Optimal)          |   36.927 |   1.076 |   34.656 |   39.801
-  Compress_Canterbury_WithState("TestDocument.pdf", Fastest)           |    0.424 |   0.074 |    0.389 |    0.842
+  Compress_Canterbury_WithState("TestDocument.pdf", Fastest)           |    0.416 |   0.100 |    0.381 |    1.154
-  Compress_Canterbury_WithState("TestDocument.pdf", NoCompression)     |    0.337 |   0.062 |    0.314 |    0.694
+  Compress_Canterbury_WithState("TestDocument.pdf", NoCompression)     |    0.337 |   0.052 |    0.299 |    0.601
-  Compress_Canterbury_WithState("TestDocument.pdf", Optimal)           |  573.307 |  22.213 |  558.365 |  640.683
+  Compress_Canterbury_WithState("TestDocument.pdf", Optimal)           |  567.716 |   7.671 |  556.144 |  592.784
-  Compress_Canterbury_WithState("TestDocument.txt", Fastest)           |    0.024 |   0.026 |    0.019 |    0.261
+  Compress_Canterbury_WithState("TestDocument.txt", Fastest)           |    0.029 |   0.037 |    0.018 |    0.347
-  Compress_Canterbury_WithState("TestDocument.txt", NoCompression)     |    0.032 |   0.003 |    0.030 |    0.048
+  Compress_Canterbury_WithState("TestDocument.txt", NoCompression)     |    0.034 |   0.009 |    0.028 |    0.079
-  Compress_Canterbury_WithState("TestDocument.txt", Optimal)           |    3.926 |   0.408 |    3.378 |    5.169
+  Compress_Canterbury_WithState("TestDocument.txt", Optimal)           |    3.936 |   0.562 |    3.296 |    5.983
-  Compress_Canterbury_WithState("xargs.1", Fastest)                    |    0.035 |   0.008 |    0.031 |    0.103
+  Compress_Canterbury_WithState("xargs.1", Fastest)                    |    0.034 |   0.004 |    0.030 |    0.049
-  Compress_Canterbury_WithState("xargs.1", NoCompression)              |    0.030 |   0.004 |    0.028 |    0.054
+  Compress_Canterbury_WithState("xargs.1", NoCompression)              |    0.034 |   0.008 |    0.027 |    0.074
-  Compress_Canterbury_WithState("xargs.1", Optimal)                    |    7.347 |   0.618 |    6.511 |   10.171
+  Compress_Canterbury_WithState("xargs.1", Optimal)                    |    7.487 |   0.589 |    6.542 |    9.754
-  Decompress_Canterbury_WithoutState("alice29.txt")                    |   55.835 |   2.035 |   53.053 |   70.473
+  Decompress_Canterbury_WithoutState("alice29.txt")                    |   56.166 |   1.651 |   53.417 |   61.905
-  Decompress_Canterbury_WithoutState("asyoulik.txt")                   |   54.889 |   3.838 |   51.856 |   89.802
+  Decompress_Canterbury_WithoutState("asyoulik.txt")                   |   54.255 |   2.469 |   51.109 |   73.070
-  Decompress_Canterbury_WithoutState("cp.html")                        |   10.865 |   0.855 |    9.812 |   14.791
+  Decompress_Canterbury_WithoutState("cp.html")                        |   11.080 |   0.613 |    9.947 |   13.213
-  Decompress_Canterbury_WithoutState("fields.c")                       |    3.453 |   0.352 |    3.056 |    4.821
+  Decompress_Canterbury_WithoutState("fields.c")                       |    3.584 |   0.552 |    2.955 |    6.169
-  Decompress_Canterbury_WithoutState("grammar.lsp")                    |    1.505 |   0.172 |    1.333 |    2.194
+  Decompress_Canterbury_WithoutState("grammar.lsp")                    |    1.540 |   0.228 |    1.347 |    2.656
-  Decompress_Canterbury_WithoutState("kennedy.xls")                    |  250.006 |   7.962 |  239.608 |  278.882
+  Decompress_Canterbury_WithoutState("kennedy.xls")                    |  254.174 |  12.543 |  242.973 |  300.809
-  Decompress_Canterbury_WithoutState("lcet10.txt")                     |  137.971 |   6.987 |  132.475 |  186.553
+  Decompress_Canterbury_WithoutState("lcet10.txt")                     |  138.571 |   3.712 |  131.353 |  158.306
-  Decompress_Canterbury_WithoutState("plrabn12.txt")                   |  176.320 |   9.311 |  169.763 |  237.874
+  Decompress_Canterbury_WithoutState("plrabn12.txt")                   |  177.031 |   2.751 |  170.730 |  184.471
-  Decompress_Canterbury_WithoutState("ptt5")                           |   92.225 |   3.535 |   87.775 |  112.655
+  Decompress_Canterbury_WithoutState("ptt5")                           |   93.178 |   2.915 |   88.507 |  113.480
-  Decompress_Canterbury_WithoutState("sum")                            |   18.881 |   0.848 |   17.464 |   22.154
+  Decompress_Canterbury_WithoutState("sum")                            |   19.463 |   2.354 |   17.817 |   31.551
-  Decompress_Canterbury_WithoutState("TestDocument.doc")               |   12.847 |   0.575 |   12.074 |   14.970
+  Decompress_Canterbury_WithoutState("TestDocument.doc")               |   12.995 |   0.627 |   12.052 |   15.404
-  Decompress_Canterbury_WithoutState("TestDocument.docx")              |    4.275 |   0.350 |    3.845 |    5.660
+  Decompress_Canterbury_WithoutState("TestDocument.docx")              |    4.258 |   0.256 |    3.894 |    5.066
-  Decompress_Canterbury_WithoutState("TestDocument.pdf")               |  105.717 |   1.646 |  100.798 |  110.725
+  Decompress_Canterbury_WithoutState("TestDocument.pdf")               |  105.229 |   1.765 |  101.103 |  109.824
-  Decompress_Canterbury_WithoutState("TestDocument.txt")               |    2.932 |   0.201 |    2.722 |    4.395
+  Decompress_Canterbury_WithoutState("TestDocument.txt")               |    2.841 |   0.271 |    2.510 |    4.045
-  Decompress_Canterbury_WithoutState("xargs.1")                        |    1.880 |   0.170 |    1.696 |    2.789
+  Decompress_Canterbury_WithoutState("xargs.1")                        |    1.955 |   0.332 |    1.749 |    4.273
-  Decompress_Canterbury_WithState("alice29.txt")                       |   56.234 |   3.743 |   52.890 |   86.336
+  Decompress_Canterbury_WithState("alice29.txt")                       |   56.301 |   3.114 |   52.966 |   83.144
-  Decompress_Canterbury_WithState("asyoulik.txt")                      |   53.303 |   3.460 |   50.390 |   81.493
+  Decompress_Canterbury_WithState("asyoulik.txt")                      |   53.616 |   2.182 |   50.779 |   69.221
-  Decompress_Canterbury_WithState("cp.html")                           |   10.775 |   0.464 |   10.180 |   12.318
+  Decompress_Canterbury_WithState("cp.html")                           |   10.959 |   0.581 |   10.215 |   13.003
-  Decompress_Canterbury_WithState("fields.c")                          |    3.597 |   0.278 |    3.284 |    4.474
+  Decompress_Canterbury_WithState("fields.c")                          |    3.522 |   0.211 |    3.275 |    4.726
-  Decompress_Canterbury_WithState("grammar.lsp")                       |    1.609 |   0.155 |    1.481 |    2.269
+  Decompress_Canterbury_WithState("grammar.lsp")                       |    1.601 |   0.105 |    1.510 |    2.153
-  Decompress_Canterbury_WithState("kennedy.xls")                       |  242.634 |   5.569 |  236.643 |  266.693
+  Decompress_Canterbury_WithState("kennedy.xls")                       |  244.120 |   5.751 |  234.189 |  261.015
-  Decompress_Canterbury_WithState("lcet10.txt")                        |  134.090 |   2.265 |  129.236 |  139.339
+  Decompress_Canterbury_WithState("lcet10.txt")                        |  136.597 |   6.442 |  129.650 |  179.896
-  Decompress_Canterbury_WithState("plrabn12.txt")                      |  173.185 |   2.386 |  168.457 |  180.614
+  Decompress_Canterbury_WithState("plrabn12.txt")                      |  174.509 |   2.554 |  169.479 |  180.289
-  Decompress_Canterbury_WithState("ptt5")                              |   90.296 |   2.346 |   85.395 |  103.490
+  Decompress_Canterbury_WithState("ptt5")                              |   89.269 |   1.851 |   85.783 |   93.579
-  Decompress_Canterbury_WithState("sum")                               |   18.918 |   0.719 |   17.989 |   21.320
+  Decompress_Canterbury_WithState("sum")                               |   19.512 |   1.082 |   18.290 |   24.471
-  Decompress_Canterbury_WithState("TestDocument.doc")                  |   13.023 |   0.694 |   12.155 |   15.560
+  Decompress_Canterbury_WithState("TestDocument.doc")                  |   13.122 |   0.691 |   11.940 |   15.847
-  Decompress_Canterbury_WithState("TestDocument.docx")                 |    4.539 |   0.436 |    4.035 |    6.663
+  Decompress_Canterbury_WithState("TestDocument.docx")                 |    4.289 |   0.200 |    4.054 |    5.329
-  Decompress_Canterbury_WithState("TestDocument.pdf")                  |  105.834 |   1.702 |  102.521 |  111.045
+  Decompress_Canterbury_WithState("TestDocument.pdf")                  |  105.735 |   4.019 |  101.406 |  132.135
-  Decompress_Canterbury_WithState("TestDocument.txt")                  |    3.027 |   0.279 |    2.770 |    4.696
+  Decompress_Canterbury_WithState("TestDocument.txt")                  |    2.972 |   0.313 |    2.713 |    4.666
-  Decompress_Canterbury_WithState("xargs.1")                           |    2.023 |   0.150 |    1.841 |    2.613
+  Decompress_Canterbury_WithState("xargs.1")                           |    2.040 |   0.177 |    1.842 |    3.004
-  Compress_Canterbury("alice29.txt", Fastest)                          |    1.230 |   0.126 |    1.100 |    1.867
+  Compress_Canterbury("alice29.txt", Fastest)                          |    1.235 |   0.137 |    1.130 |    1.944
-  Compress_Canterbury("alice29.txt", NoCompression)                    |    0.992 |   0.057 |    0.934 |    1.265
+  Compress_Canterbury("alice29.txt", NoCompression)                    |    1.018 |   0.129 |    0.901 |    1.752
-  Compress_Canterbury("alice29.txt", Optimal)                          |  267.157 |   3.093 |  261.936 |  275.952
+  Compress_Canterbury("alice29.txt", Optimal)                          |  270.635 |  11.905 |  258.136 |  333.321
-  Compress_Canterbury("asyoulik.txt", Fastest)                         |    1.065 |   0.168 |    0.941 |    1.838
+  Compress_Canterbury("asyoulik.txt", Fastest)                         |    1.096 |   0.195 |    0.956 |    2.518
-  Compress_Canterbury("asyoulik.txt", NoCompression)                   |    0.869 |   0.109 |    0.788 |    1.554
+  Compress_Canterbury("asyoulik.txt", NoCompression)                   |    0.890 |   0.120 |    0.785 |    1.448
-  Compress_Canterbury("asyoulik.txt", Optimal)                         |  210.748 |   6.512 |  205.802 |  252.115
+  Compress_Canterbury("asyoulik.txt", Optimal)                         |  211.859 |   4.600 |  203.336 |  227.932
-  Compress_Canterbury("cp.html", Fastest)                              |    0.183 |   0.049 |    0.165 |    0.626
+  Compress_Canterbury("cp.html", Fastest)                              |    0.183 |   0.058 |    0.165 |    0.628
-  Compress_Canterbury("cp.html", NoCompression)                        |    0.158 |   0.055 |    0.143 |    0.675
+  Compress_Canterbury("cp.html", NoCompression)                        |    0.168 |   0.054 |    0.144 |    0.618
-  Compress_Canterbury("cp.html", Optimal)                              |   35.362 |   1.056 |   33.106 |   39.621
+  Compress_Canterbury("cp.html", Optimal)                              |   36.090 |   1.396 |   33.851 |   42.423
-  Compress_Canterbury("fields.c", Fastest)                             |    0.079 |   0.005 |    0.074 |    0.099
+  Compress_Canterbury("fields.c", Fastest)                             |    0.086 |   0.014 |    0.076 |    0.145
-  Compress_Canterbury("fields.c", NoCompression)                       |    0.080 |   0.023 |    0.068 |    0.262
+  Compress_Canterbury("fields.c", NoCompression)                       |    0.083 |   0.014 |    0.072 |    0.143
-  Compress_Canterbury("fields.c", Optimal)                             |   17.155 |   0.857 |   15.863 |   20.649
+  Compress_Canterbury("fields.c", Optimal)                             |   17.243 |   0.900 |   15.720 |   20.332
-  Compress_Canterbury("grammar.lsp", Fastest)                          |    0.039 |   0.069 |    0.027 |    0.719
+  Compress_Canterbury("grammar.lsp", Fastest)                          |    0.041 |   0.055 |    0.027 |    0.579
-  Compress_Canterbury("grammar.lsp", NoCompression)                    |    0.033 |   0.010 |    0.025 |    0.080
+  Compress_Canterbury("grammar.lsp", NoCompression)                    |    0.029 |   0.005 |    0.025 |    0.054
-  Compress_Canterbury("grammar.lsp", Optimal)                          |    6.633 |   0.564 |    5.930 |    8.290
+  Compress_Canterbury("grammar.lsp", Optimal)                          |    6.664 |   0.460 |    5.954 |    8.447
-  Compress_Canterbury("kennedy.xls", Fastest)                          |    4.113 |   0.424 |    3.672 |    5.697
+  Compress_Canterbury("kennedy.xls", Fastest)                          |    4.218 |   0.923 |    3.652 |   12.475
-  Compress_Canterbury("kennedy.xls", NoCompression)                    |    2.941 |   0.318 |    2.695 |    4.873
+  Compress_Canterbury("kennedy.xls", NoCompression)                    |    3.036 |   0.362 |    2.639 |    4.199
-  Compress_Canterbury("kennedy.xls", Optimal)                          | 2646.161 |   9.124 | 2634.174 | 2656.362
+  Compress_Canterbury("kennedy.xls", Optimal)                          | 2654.240 |  21.585 | 2636.523 | 2682.780
-  Compress_Canterbury("lcet10.txt", Fastest)                           |    3.419 |   0.325 |    3.055 |    4.488
+  Compress_Canterbury("lcet10.txt", Fastest)                           |    3.430 |   0.338 |    3.055 |    4.876
-  Compress_Canterbury("lcet10.txt", NoCompression)                     |    2.715 |   0.267 |    2.408 |    3.585
+  Compress_Canterbury("lcet10.txt", NoCompression)                     |    2.738 |   0.277 |    2.400 |    3.730
-  Compress_Canterbury("lcet10.txt", Optimal)                           |  834.695 |   6.296 |  825.472 |  847.837
+  Compress_Canterbury("lcet10.txt", Optimal)                           |  833.566 |   7.028 |  822.675 |  845.543
-  Compress_Canterbury("plrabn12.txt", Fastest)                         |    4.445 |   0.383 |    3.940 |    6.158
+  Compress_Canterbury("plrabn12.txt", Fastest)                         |    4.477 |   0.428 |    3.928 |    6.103
-  Compress_Canterbury("plrabn12.txt", NoCompression)                   |    3.776 |   0.293 |    3.394 |    4.761
+  Compress_Canterbury("plrabn12.txt", NoCompression)                   |    3.572 |   0.363 |    3.107 |    4.795
-  Compress_Canterbury("plrabn12.txt", Optimal)                         |  912.841 |  18.488 |  892.339 |  956.128
+  Compress_Canterbury("plrabn12.txt", Optimal)                         |  907.135 |   7.493 |  893.440 |  921.431
-  Compress_Canterbury("ptt5", Fastest)                                 |    1.217 |   0.205 |    1.083 |    2.543
+  Compress_Canterbury("ptt5", Fastest)                                 |    1.266 |   0.202 |    1.093 |    2.178
-  Compress_Canterbury("ptt5", NoCompression)                           |    1.087 |   0.100 |    0.976 |    1.517
+  Compress_Canterbury("ptt5", NoCompression)                           |    1.096 |   0.101 |    1.021 |    1.446
-  Compress_Canterbury("ptt5", Optimal)                                 | 1348.226 |   6.133 | 1338.843 | 1354.618
+  Compress_Canterbury("ptt5", Optimal)                                 | 1345.753 |   8.623 | 1334.310 | 1355.328
-  Compress_Canterbury("sum", Fastest)                                  |    0.220 |   0.075 |    0.201 |    0.914
+  Compress_Canterbury("sum", Fastest)                                  |    0.227 |   0.059 |    0.204 |    0.721
-  Compress_Canterbury("sum", NoCompression)                            |    0.187 |   0.046 |    0.175 |    0.627
+  Compress_Canterbury("sum", NoCompression)                            |    0.193 |   0.054 |    0.174 |    0.667
-  Compress_Canterbury("sum", Optimal)                                  |   61.225 |   1.793 |   57.360 |   68.208
+  Compress_Canterbury("sum", Optimal)                                  |   61.731 |   2.182 |   58.163 |   70.890
-  Compress_Canterbury("TestDocument.doc", Fastest)                     |    0.095 |   0.010 |    0.087 |    0.157
+  Compress_Canterbury("TestDocument.doc", Fastest)                     |    0.098 |   0.013 |    0.091 |    0.195
-  Compress_Canterbury("TestDocument.doc", NoCompression)               |    0.085 |   0.010 |    0.076 |    0.120
+  Compress_Canterbury("TestDocument.doc", NoCompression)               |    0.079 |   0.006 |    0.074 |    0.104
-  Compress_Canterbury("TestDocument.doc", Optimal)                     |   36.311 |   1.233 |   34.273 |   40.858
+  Compress_Canterbury("TestDocument.doc", Optimal)                     |   36.733 |   1.231 |   34.786 |   40.521
-  Compress_Canterbury("TestDocument.docx", Fastest)                    |    0.080 |   0.006 |    0.073 |    0.108
+  Compress_Canterbury("TestDocument.docx", Fastest)                    |    0.076 |   0.007 |    0.070 |    0.117
-  Compress_Canterbury("TestDocument.docx", NoCompression)              |    0.088 |   0.012 |    0.079 |    0.143
+  Compress_Canterbury("TestDocument.docx", NoCompression)              |    0.089 |   0.018 |    0.076 |    0.152
-  Compress_Canterbury("TestDocument.docx", Optimal)                    |   37.058 |   1.174 |   34.544 |   41.178
+  Compress_Canterbury("TestDocument.docx", Optimal)                    |   37.472 |   1.558 |   34.181 |   43.270
-  Compress_Canterbury("TestDocument.pdf", Fastest)                     |    0.467 |   0.054 |    0.431 |    0.694
+  Compress_Canterbury("TestDocument.pdf", Fastest)                     |    0.464 |   0.063 |    0.409 |    0.716
-  Compress_Canterbury("TestDocument.pdf", NoCompression)               |    0.405 |   0.132 |    0.337 |    1.483
+  Compress_Canterbury("TestDocument.pdf", NoCompression)               |    0.386 |   0.042 |    0.337 |    0.533
-  Compress_Canterbury("TestDocument.pdf", Optimal)                     |  573.742 |  12.762 |  563.205 |  622.565
+  Compress_Canterbury("TestDocument.pdf", Optimal)                     |  567.276 |   4.635 |  560.703 |  578.078
-  Compress_Canterbury("TestDocument.txt", Fastest)                     |    0.034 |   0.017 |    0.022 |    0.155
+  Compress_Canterbury("TestDocument.txt", Fastest)                     |    0.038 |   0.030 |    0.022 |    0.285
-  Compress_Canterbury("TestDocument.txt", NoCompression)               |    0.043 |   0.019 |    0.032 |    0.185
+  Compress_Canterbury("TestDocument.txt", NoCompression)               |    0.044 |   0.011 |    0.032 |    0.105
-  Compress_Canterbury("TestDocument.txt", Optimal)                     |    3.748 |   0.467 |    3.237 |    5.219
+  Compress_Canterbury("TestDocument.txt", Optimal)                     |    3.852 |   0.580 |    3.301 |    6.302
-  Compress_Canterbury("xargs.1", Fastest)                              |    0.038 |   0.004 |    0.033 |    0.055
+  Compress_Canterbury("xargs.1", Fastest)                              |    0.040 |   0.010 |    0.033 |    0.082
-  Compress_Canterbury("xargs.1", NoCompression)                        |    0.040 |   0.040 |    0.029 |    0.420
+  Compress_Canterbury("xargs.1", NoCompression)                        |    0.039 |   0.045 |    0.029 |    0.475
-  Compress_Canterbury("xargs.1", Optimal)                              |    7.354 |   0.654 |    6.585 |   11.074
+  Compress_Canterbury("xargs.1", Optimal)                              |    7.464 |   0.516 |    6.646 |    8.969
-  Decompress_Canterbury(uncompressedFilePath: "alice29.txt")           |   58.006 |   2.120 |   54.251 |   64.788
+  Decompress_Canterbury(uncompressedFilePath: "alice29.txt")           |   58.829 |   2.737 |   54.996 |   75.816
-  Decompress_Canterbury(uncompressedFilePath: "asyoulik.txt")          |   55.782 |   2.345 |   52.074 |   62.970
+  Decompress_Canterbury(uncompressedFilePath: "asyoulik.txt")          |   56.085 |   2.570 |   52.208 |   65.701
-  Decompress_Canterbury(uncompressedFilePath: "cp.html")               |   11.950 |   0.565 |   10.937 |   13.638
+  Decompress_Canterbury(uncompressedFilePath: "cp.html")               |   11.858 |   0.999 |   11.028 |   18.484
-  Decompress_Canterbury(uncompressedFilePath: "fields.c")              |    4.627 |   0.432 |    4.079 |    6.375
+  Decompress_Canterbury(uncompressedFilePath: "fields.c")              |    4.593 |   0.385 |    3.977 |    5.688
-  Decompress_Canterbury(uncompressedFilePath: "grammar.lsp")           |    2.599 |   0.408 |    2.130 |    4.593
+  Decompress_Canterbury(uncompressedFilePath: "grammar.lsp")           |    2.647 |   0.395 |    2.087 |    3.752
-  Decompress_Canterbury(uncompressedFilePath: "kennedy.xls")           |  253.195 |   6.789 |  243.372 |  273.653
+  Decompress_Canterbury(uncompressedFilePath: "kennedy.xls")           |  254.221 |   6.174 |  244.365 |  270.826
-  Decompress_Canterbury(uncompressedFilePath: "lcet10.txt")            |  136.982 |   2.090 |  133.237 |  142.270
+  Decompress_Canterbury(uncompressedFilePath: "lcet10.txt")            |  139.862 |   2.741 |  133.519 |  147.109
-  Decompress_Canterbury(uncompressedFilePath: "plrabn12.txt")          |  176.884 |   3.999 |  170.810 |  189.049
+  Decompress_Canterbury(uncompressedFilePath: "plrabn12.txt")          |  178.297 |   2.848 |  172.740 |  184.089
-  Decompress_Canterbury(uncompressedFilePath: "ptt5")                  |   93.367 |   3.869 |   88.542 |  117.173
+  Decompress_Canterbury(uncompressedFilePath: "ptt5")                  |   93.653 |   2.457 |   88.642 |  100.317
-  Decompress_Canterbury(uncompressedFilePath: "sum")                   |   20.083 |   0.744 |   18.587 |   22.629
+  Decompress_Canterbury(uncompressedFilePath: "sum")                   |   20.312 |   0.793 |   19.130 |   23.289
-  Decompress_Canterbury(uncompressedFilePath: "TestDocument.doc")      |   14.439 |   3.868 |   13.113 |   49.135
+  Decompress_Canterbury(uncompressedFilePath: "TestDocument.doc")      |   13.942 |   0.706 |   13.017 |   17.244
-  Decompress_Canterbury(uncompressedFilePath: "TestDocument.docx")     |    5.808 |   0.561 |    5.116 |    7.558
+  Decompress_Canterbury(uncompressedFilePath: "TestDocument.docx")     |    5.815 |   0.567 |    4.930 |    7.663
-  Decompress_Canterbury(uncompressedFilePath: "TestDocument.pdf")      |  105.642 |   4.103 |  102.018 |  138.850
+  Decompress_Canterbury(uncompressedFilePath: "TestDocument.pdf")      |  105.362 |   1.822 |  101.468 |  110.390
-  Decompress_Canterbury(uncompressedFilePath: "TestDocument.txt")      |    4.063 |   0.271 |    3.654 |    5.394
+  Decompress_Canterbury(uncompressedFilePath: "TestDocument.txt")      |    3.712 |   0.368 |    3.272 |    6.080
-  Decompress_Canterbury(uncompressedFilePath: "xargs.1")               |    3.111 |   0.398 |    2.569 |    3.922
+  Decompress_Canterbury(uncompressedFilePath: "xargs.1")               |    3.236 |   0.499 |    2.526 |    4.926

@deinok deinok mentioned this pull request Feb 14, 2019
while (size < context->input_file_length) {
size <<= 1;
while (BROTLI_MAX_BACKWARD_LIMIT(lgwin) <
(uint64_t)context->input_file_length) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This 1k LOC file is a CLI tool and is not used in CoreFX - maybe it should be deleted?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this comment. Can you please elaborate and provide more context?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ahsonkhan brotli.c is the only file we don't need from google\brotli so I suggest to delete it and ignore it in further brotli updates. the file is 34kb. (btw we use brotli files from corefx repo in mono)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ahsonkhan brotli.c is the source for the brotli.exe cmdline util, which we don't need at all

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was previously discussed in #30295

As pointed out there, we don't need anything in the tools nor fuzz folders here. Previous decision was to keep them, though.

Copy link

@buyaa-n buyaa-n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you @saucecontrol

@karelz
Copy link
Member

karelz commented Mar 4, 2019

What's the next step here? @buyaa-n approved the PR almost 2 weeks ago - are we waiting on more code reviews from @ahsonkhan or others?

@ahsonkhan ahsonkhan merged commit 6ad08fe into dotnet:master Mar 4, 2019
@saucecontrol saucecontrol deleted the brotli-update branch March 4, 2019 23:33
@karelz karelz added this to the 3.0 milestone Mar 18, 2019
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
* update to brotli v1.0.7

* update WithState perf test to use compressLevel arg

* update brotli-version.txt


Commit migrated from dotnet/corefx@6ad08fe
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants