1
0
mirror of https://github.com/chylex/Brotli-Builder.git synced 2024-11-24 22:42:50 +01:00
Commit Graph

40 Commits

Author SHA1 Message Date
9c57e552a1 Split HuffmanGenerator into 2 files & refactor 2020-04-07 17:51:34 +02:00
440fa7fd16 Add RingBufferFast & optimize construction 2020-04-07 17:41:24 +02:00
11df776279 Ensure FrequencyList does not have negative or leftover frequency counts 2020-04-05 18:11:26 +02:00
ed931fe700 Update FrequencyList API & update existing uses 2020-04-05 17:34:10 +02:00
b2272ac8ce Turn % operator into bitwise AND where possible 2020-03-17 10:02:53 +01:00
e25839acf3 Make ArraySegments into 'in' parameters 2020-03-17 09:13:56 +01:00
e8ab507ef4 Change dictionary index to find all matches & allow min length of 1 2020-03-16 12:32:12 +01:00
aa59f81da5 Fix documentation to use <c> instead of <code> 2020-03-10 00:42:02 +01:00
1bd0822d63 Work on BrotliLib APIs (compression params, encode pipeline, minor tweaks) 2020-01-28 20:00:28 +01:00
a2baff135a Rework ContextMap.Builder API & move MoveToFront 2020-01-23 11:25:16 +01:00
cda71bb37b Remove MultiTrie & update dictionary index to use PATRICIA trees instead 2019-12-31 03:53:01 +01:00
8ecc974994 Add PATRICIA tree structure 2019-12-31 03:48:41 +01:00
53f3f2b7d2 Remove HuffmanNode.SymbolCount and use HuffmanTree lookup instead 2019-11-30 01:48:09 +01:00
08544f7298 Improve performance & memory usage of serialization 2019-11-29 14:47:41 +01:00
16736e9560 Optimize memory allocations when serializing and building meta-blocks 2019-11-28 02:36:55 +01:00
e8887b012a Work on encoder/transformer API 2019-11-27 00:30:25 +01:00
c9e1b10dbc Enable C# 8 nullable reference types for all projects & fix warnings 2019-11-26 14:42:10 +01:00
280d5e6c6e Add BitPath to use in HuffmanGenerator instead of BitStream 2019-11-24 13:54:30 +01:00
ea44d59778 Minor optimizations and code tweaks 2019-11-24 13:48:18 +01:00
d578fb4346 Reorganize BrotliLib namespaces 2019-11-22 05:44:02 +01:00
c80f8b3ade Add optimized byte[] comparison to CollectionHelper & use it in BrotliCalc 2019-11-01 18:04:38 +01:00
974541b937 Minor BrotliLib refactoring (ranges, exceptions, formatting) 2019-10-31 19:13:08 +01:00
611fac1525 Properly implement and cleanup GetHashCode & Equals in BrotliLib 2019-10-19 15:27:39 +02:00
e84dcd4ac9 Address IDE suggestions (C# 8.0) & minor refactoring 2019-10-19 01:43:54 +02:00
53ed337a56 Fix typo in MultiTrie equality checking, causing broken cache 2019-10-06 07:08:45 +02:00
9d4fe1e47e Update MultiTrie to use ValueTuple instead of KeyValuePair 2019-10-05 08:14:58 +02:00
271b43630e Implement MultiTrie.Node caching for Brotli dictionary index 2019-10-05 08:14:47 +02:00
65dbe29dc6 Add a few utilities to CollectionHelper (ContainsAt, Skip) 2019-10-03 21:23:02 +02:00
b111f9bd25 Rework MultiTrie structure (less mess, less memory, more performance) 2019-10-03 18:59:37 +02:00
c3b66b50e9 Tweaks for minor performance improvements 2019-07-08 23:36:10 +02:00
2bfa048532 Add FrequencyList collection 2019-05-23 14:11:00 +02:00
5148994de4 Fix incorrect RingBuffer state after cloning 2019-05-19 22:46:31 +02:00
e349cf112b Move byte array slicing/cloning into a utility CollectionHelper class 2019-05-18 00:38:48 +02:00
417b2b0eed Add IMultiTrie, move tries to different namespace, revert trie value sorting 2019-05-17 18:54:55 +02:00
94263295b5 Abstract out stuff from MultiTrie into a base class 2019-05-17 02:38:50 +02:00
4ec79e2d5f Add cloning constructor to RingBuffer 2019-03-28 03:31:28 +01:00
17287c1e9b Improve performance of MultiTrie and dictionary transformations 2019-03-14 13:01:10 +01:00
68c3d42783 Add a MultiTrie implementation 2019-03-12 08:13:37 +01:00
b3d81c67f1 Add PriorityQueue 2018-12-14 11:55:22 +01:00
6e3a50d9a6 Add fixed-size RingBuffer w/ unit tests 2018-11-21 18:02:49 +01:00