-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Update brotli to v1.0.7 #35172
Update brotli to v1.0.7 #35172
Conversation
|
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? |
|
adding area owners to review. |
It was added based on feedback here: #30751 (comment) I think we should continue to update it, if you don't mind. cc @janvorli |
Done. (Removed now-unrelated perf results) |
|
I just noticed the |
3641366 to
a6e6e5c
Compare
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. |
|
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. |
a6e6e5c to
be98345
Compare
|
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 |
| while (size < context->input_file_length) { | ||
| size <<= 1; | ||
| while (BROTLI_MAX_BACKWARD_LIMIT(lgwin) < | ||
| (uint64_t)context->input_file_length) { |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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)
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
buyaa-n
left a comment
There was a problem hiding this 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
|
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? |
* update to brotli v1.0.7 * update WithState perf test to use compressLevel arg * update brotli-version.txt Commit migrated from dotnet/corefx@6ad08fe
(Perf patch moved to #35315)
Update Brotli to current release tag v1.0.7
Fix
Compress_Canterbury_WithStateto varycompressLevel