Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StringPool class (ArrayPool<T>-like to cache strings) #3380

Merged
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
0d4db3a
Added StringPool type
Sergio0694 Jul 7, 2020
55ddf1d
Added StringPool default constructor, input checks
Sergio0694 Jul 7, 2020
6f48d84
Fixed input checks
Sergio0694 Jul 7, 2020
77217a3
Added StringPool tests
Sergio0694 Jul 7, 2020
4601f7e
Minor code refactoring
Sergio0694 Jul 7, 2020
63446ce
Added StringPool.TryGet API
Sergio0694 Jul 7, 2020
a877555
Fixed build errors on UWP (string -> ReadOnlySpan<T>)
Sergio0694 Jul 7, 2020
e2737e0
Switched Bucket type to a struct
Sergio0694 Jul 7, 2020
194e082
Added StringPool.Add(string) method
Sergio0694 Jul 7, 2020
769126f
Minor code refactoring
Sergio0694 Jul 7, 2020
a217cfe
Added uni tests for StringPool.Add and TryGet
Sergio0694 Jul 7, 2020
39949c8
Fixed unit tests on UWP
Sergio0694 Jul 7, 2020
76b3115
Added GetOrAdd(string) overload
Sergio0694 Jul 7, 2020
bab3d82
Minor tweaks to unit tests
Sergio0694 Jul 7, 2020
1958ac6
Minor code refactoring
Sergio0694 Jul 7, 2020
96196fe
Added unit tests for GetOrAdd(string) overload
Sergio0694 Jul 8, 2020
cc14371
Added GetOrAdd(ReadOnlySpan<byte>, Encoding) overload
Sergio0694 Jul 8, 2020
cfb6d23
Added tests for GetOrAdd with encoding
Sergio0694 Jul 8, 2020
3134668
Improved StringPool distribution
Sergio0694 Jul 8, 2020
5ebb510
Restructured buckets/entries setup with target size
Sergio0694 Jul 9, 2020
1489661
Reverted hashcode computation to just SIMD djb2
Sergio0694 Jul 9, 2020
42c2b57
Merge branch 'master' into feature/string-pool
Sergio0694 Jul 10, 2020
2fd35c8
Updated StringPool with new priority-map backend
Sergio0694 Jul 13, 2020
04e18f0
Merge branch 'master' into feature/string-pool
Sergio0694 Jul 13, 2020
62f713f
~40% speedup in StringPool, removed system call
Sergio0694 Jul 13, 2020
e519f3d
Removed outdated remarks (before refactor to map)
Sergio0694 Jul 13, 2020
b885adc
Added missing timestamp reset
Sergio0694 Jul 14, 2020
613cac0
~90% speed improvements (!), reduced memory usage
Sergio0694 Jul 15, 2020
05b3bc8
Tweaked nullability attributes
Sergio0694 Jul 20, 2020
25897dd
Merge branch 'master' into feature/string-pool
Sergio0694 Jul 21, 2020
658c1a4
Minor code tweaks
Sergio0694 Jul 23, 2020
e6b6cb0
Merge branch 'master' into feature/string-pool
Sergio0694 Jul 26, 2020
73e5adb
Minor codegen improvements
Sergio0694 Jul 26, 2020
debf300
Merge branch 'master' into feature/string-pool
Sergio0694 Jul 29, 2020
59ac91e
Fixed min-heap violation on timestamp overflow
Sergio0694 Jul 29, 2020
1754186
Improved unit test for failed constructor
Sergio0694 Jul 29, 2020
533973c
Minor optimization (removed duplicate ref computation)
Sergio0694 Jul 29, 2020
1941370
Added unit test for overflow fix
Sergio0694 Jul 29, 2020
92ed638
Reduced runtime of overflow unit test
Sergio0694 Jul 29, 2020
5def549
Fixed a typo
Sergio0694 Jul 30, 2020
4a9f971
Renamed StringPool.Default -> Shared
Sergio0694 Jul 31, 2020
953e5e1
Merge branch 'master' into feature/string-pool
Sergio0694 Aug 1, 2020
28c8da4
Merge branch 'master' into feature/string-pool
Sergio0694 Aug 8, 2020
1b00a31
Merge branch 'master' into feature/string-pool
Sergio0694 Aug 12, 2020
070d690
Merge branch 'master' into feature/string-pool
Sergio0694 Sep 8, 2020
96e8e48
Improved phrasing of LFU cache mode
Sergio0694 Sep 8, 2020
45e1329
Added XML docs about FixedSizePriorityMap
Sergio0694 Sep 9, 2020
9b21cd0
Removed unnecessary code
Sergio0694 Sep 14, 2020
1739fb8
Improved code coverage
Sergio0694 Sep 14, 2020
b65bb92
Merge branch 'master' into feature/string-pool
michael-hawker Sep 28, 2020
55f1e78
Merge branch 'master' into feature/string-pool
Sergio0694 Sep 28, 2020
61dea68
Merge branch 'master' into feature/string-pool
Sergio0694 Oct 5, 2020
e60d5b7
Merge branch 'master' into feature/string-pool
michael-hawker Oct 6, 2020
9fd4038
Merge branch 'master' into feature/string-pool
michael-hawker Oct 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading