Mahesh Madhav
782aadd0ff
Apply suggestions from code review
...
Co-authored-by: Eugene Kliuchnikov <eustas@google.com>
2024-11-19 09:52:16 +01:00
Mahesh Madhav
1054ecc262
Add static variables as per code review comments.
2024-11-19 09:52:16 +01:00
Mahesh Madhav
cec846f88e
Update c/enc/block_splitter_inc.h
...
Added a digit of precision
2024-11-19 09:52:16 +01:00
Mahesh Madhav
cefec3ce9d
Reduce fdiv's into fmul's
...
Provides small speedup on microarchitectures where the floating
point divide is slower than the floating point multiply.
2024-11-19 09:52:16 +01:00
Jeremy Koritzinsky
aa54821999
Fix C4224 warnings when building with MSVC
2024-11-12 16:50:52 +01:00
Ilya Tokar
664952333f
Make Brotli decompression faster
...
Makes it ~8% faster on my skylake desktop.
PiperOrigin-RevId: 689499172
2024-10-24 13:36:55 -07:00
Ilya Tokar
350100a5bb
Add BrotliCopyPreloadedSymbols function.
...
Add a single trivial use to avoid complier warning.
PiperOrigin-RevId: 676435629
2024-09-19 09:02:34 -07:00
Brotli
39bcecf455
Fix hasher resolution for long windows.
...
PiperOrigin-RevId: 652545288
2024-07-15 11:27:36 -07:00
Brotli
a528bce9f6
Hoist the static bounds check out of the combined if check.
...
PiperOrigin-RevId: 639054702
2024-05-31 09:11:23 -07:00
Brotli
fe754f3459
Use a hash table header and SIMD to speed up hash table operations (similar to [Swiss Tables]( https://abseil.io/about/design/swisstables )).
...
PiperOrigin-RevId: 638686412
2024-05-30 09:51:43 -07:00
Brotli
04388304a6
Use a hash table header and SIMD to speed up hash table operations (similar to [Swiss Tables]( https://abseil.io/about/design/swisstables )).
...
PiperOrigin-RevId: 632238409
2024-05-09 12:42:42 -07:00
Brotli
bb809ac908
Use a hash table header and SIMD to speed up hash table operations (similar to [Swiss Tables]( https://abseil.io/about/design/swisstables )).
...
PiperOrigin-RevId: 631982664
2024-05-08 17:59:58 -07:00
Brotli
d01a4caaa8
Internal change
...
PiperOrigin-RevId: 626960053
2024-04-22 02:07:25 -07:00
Brotli
1b3a5ccb6e
Prefetch the backreference hashtable bucket.
...
Place the prefetch before the last distance checks, to give the prefetch enough time to work.
PiperOrigin-RevId: 626228820
2024-04-18 20:00:02 -07:00
Evgenii Kliuchnikov
443af10a80
add (assumption) check
...
PiperOrigin-RevId: 625632989
2024-04-17 04:10:04 -07:00
Evgenii Kliuchnikov
c1c76e993f
Don't check cur_ix_masked
against ring_buffer_mask
.
...
`cur_ix_masked` isn't changing from iteration to iteration, and `max_length` ensures we never find a match long enough to walk off the ring buffer.
PiperOrigin-RevId: 624701948
2024-04-14 06:36:02 -07:00
Brotli
709c4672d4
Fix minor syntax issues.
...
Missing semicolons.
Move checks below variable declarations for c89.
PiperOrigin-RevId: 624199887
2024-04-12 09:16:00 -07:00
Brotli
a76d96e730
Don't check cur_ix_masked
against ring_buffer_mask
.
...
`cur_ix_masked` isn't changing from iteration to iteration, and `max_length` ensures we never find a match long enough to walk off the ring buffer.
PiperOrigin-RevId: 624162764
2024-04-12 06:50:51 -07:00
Brotli
a813a6a1e4
Update the H5
hasher to use the H6
's FN(STORE)
.
...
PiperOrigin-RevId: 623885589
2024-04-11 11:23:47 -07:00
Brotli
f964a1e8ac
Internal change
...
PiperOrigin-RevId: 623073126
2024-04-09 00:19:11 -07:00
Brotli
cdbe7fc739
Internal change
...
PiperOrigin-RevId: 622802698
2024-04-08 04:30:44 -07:00
Brotli
9351fa7ffb
Compare 4 bytes when checking if a longer match is possible.
...
Loading and comparing 4 bytes is ~as fast as 1 byte, but allows us to avoid more full match length calculation.
PiperOrigin-RevId: 617556847
2024-03-20 10:30:00 -07:00
Brotli
9717649c31
Use BROTLI_MAX_STATIC_CONTEXTS instead of magic constants in encode.c
...
PiperOrigin-RevId: 615341475
2024-03-13 02:47:52 -07:00
Evgenii Kliuchnikov
d5e697b3c7
remove dependency on os-specific defines
...
PiperOrigin-RevId: 600449944
2024-01-22 07:24:41 -08:00
Evgenii Kliuchnikov
3396c67fea
add brcat alias + flag to decompress concatenated streams
...
PiperOrigin-RevId: 598652401
2024-01-15 12:49:56 -08:00
Evgenii Kliuchnikov
033940f97c
add comment (fingerprint) CLI feature
...
PiperOrigin-RevId: 597489910
2024-01-11 02:04:37 -08:00
Evgenii Kliuchnikov
6b6adb7ae8
fix build for Microsoft-designed ARM64 ABI
...
PiperOrigin-RevId: 595334901
2024-01-03 02:01:23 -08:00
Evgenii Kliuchnikov
9b83be233e
fix wording
...
PiperOrigin-RevId: 576788685
2023-10-26 02:03:20 -07:00
Evgenii Kliuchnikov
e7313b0c4e
tune memory manager for BROTLI_EXPERIMENTAL
...
PiperOrigin-RevId: 560703386
2023-08-28 07:20:49 -07:00
Evgenii Kliuchnikov
c1bd196833
comb HAVE_UTIMENSAT definition
...
PiperOrigin-RevId: 560011681
2023-08-25 01:07:12 -07:00
Evgenii Kliuchnikov
2a5a088b03
more tuning for BROTLI_EXPERIMENTAL + clean-on-oom
...
PiperOrigin-RevId: 558771745
2023-08-21 06:36:24 -07:00
Evgenii Kliuchnikov
feb6d8bc80
prepare for 1.1.0rc
...
PiperOrigin-RevId: 558736892
2023-08-21 03:35:01 -07:00
Evgenii Kliuchnikov
3ebb2d30ab
Move serialized dictionary feature behind the flag.
...
BROTLI_SHARED_DICTIONARY_SERIALIZED enum value is a part of API,
but it should not be used (will cause failures).
Changing how serialized dictionaries work won't be considered as an API change, until this feature is enabled.
Enabling this feature in the future will be considered as a "compatible" change.
PiperOrigin-RevId: 558091676
2023-08-18 02:55:33 -07:00
Evgenii Kliuchnikov
0f2157cc5e
Update comment; fixes #1061
...
PiperOrigin-RevId: 557501089
2023-08-16 08:55:14 -07:00
Evgenii Kliuchnikov
8c7923045a
reduce amount of padding in decoder structs
...
PiperOrigin-RevId: 555101669
2023-08-09 02:48:53 -07:00
Evgenii Kliuchnikov
a560089843
speedup q5-9 on large files
...
PiperOrigin-RevId: 553440457
2023-08-03 04:58:52 -07:00
Evgenii Kliuchnikov
117b68b745
speedup encoder on q5-9 / 1MB+ files
...
PiperOrigin-RevId: 553087469
2023-08-02 03:05:57 -07:00
Evgenii Kliuchnikov
d639a81d35
add option to delete files that are not "compressed"
...
PiperOrigin-RevId: 552472135
2023-07-31 07:19:14 -07:00
Evgenii Kliuchnikov
27a9a80992
simplify CMake build
...
PiperOrigin-RevId: 552238545
2023-07-30 03:45:11 -07:00
Evgenii Kliuchnikov
779a49bfd6
bake in runtime constant
...
PiperOrigin-RevId: 549590409
2023-07-20 04:18:46 -07:00
Evgenii Kliuchnikov
c3dc7d039c
more careful bit-reader interruption
...
PiperOrigin-RevId: 548661043
2023-07-17 05:39:13 -07:00
Evgenii Kliuchnikov
2d0947f1ea
insert missing fuzz/WORKSPACE content
...
PiperOrigin-RevId: 546848285
2023-07-10 07:31:03 -07:00
Evgenii Kliuchnikov
2e6164d7b0
verbose error report in CLI
...
PiperOrigin-RevId: 546833411
2023-07-10 11:43:42 +00:00
Evgenii Kliuchnikov
70e7b1ae4a
simplify building of fuzzer
...
PiperOrigin-RevId: 545950923
2023-07-10 11:43:27 +00:00
Evgenii Kliuchnikov
6ee96e291d
Internal changes
...
PiperOrigin-RevId: 545262005
2023-07-04 07:55:25 +00:00
Evgenii Kliuchnikov
e252f1fc15
0.5-2.9% decoder speedup
...
PiperOrigin-RevId: 529412095
2023-07-04 07:55:16 +00:00
Evgenii Kliuchnikov
e1f5788fb0
Fix internal buffer reset
...
PiperOrigin-RevId: 524301253
2023-07-04 07:54:41 +00:00
Evgenii Kliuchnikov
e5dba91c38
Add BROTLI_ENABLE_DUMP build option
...
PiperOrigin-RevId: 520047051
2023-07-04 07:54:07 +00:00
Evgenii Kliuchnikov
f29c44ed38
Avoid nullptr with zero offset
...
PiperOrigin-RevId: 516808122
2023-07-04 07:53:51 +00:00
Evgenii Kliuchnikov
cb1ced3a25
speedup decoder by 0.2%-1.2%
...
PiperOrigin-RevId: 516754779
2023-07-04 07:53:42 +00:00