|
5f61ccf0
|
2025-03-13T13:22:28
|
|
[set] Fix reallocation
Was shrinking malloced vectors inadverently.
|
|
a0d76c5b
|
2025-03-12T16:33:13
|
|
[atomic] Templatize
|
|
34464657
|
2025-02-06T12:03:18
|
|
[set] Tweak allocation
Allocation 2-page sets as exact count as well.
Don't do the same for the page_map.
|
|
c05002af
|
2025-02-05T16:46:13
|
|
[set] Add may_have() as alias for get()
|
|
900db7b1
|
2025-02-05T16:41:49
|
|
[bit-set] Add a couple of alias methods
|
|
7b927748
|
2025-02-05T12:25:54
|
|
[bit-set] Rename a method
|
|
cb09fe79
|
2025-02-04T22:54:10
|
|
[bit-set] Remove a likely()
|
|
749dc1ee
|
2025-02-04T22:53:17
|
|
[bit-set] Fix may_intersect() logic
|
|
255dadc1
|
2025-02-04T22:02:11
|
|
[set] Speed up may_intersect()
|
|
a6173280
|
2025-02-04T22:00:14
|
|
[bit-set] Sprinkle a few .arrayZ around
All accesses are valid.
|
|
3cfdbd67
|
2024-02-16T23:41:55
|
|
Use `noexcept` on swap, move constructors, etc.
|
|
f380a328
|
2023-08-25T14:01:01
|
|
Fix some typos.
|
|
7de2f515
|
2023-07-20T12:46:54
|
|
[set] Remove dependency on hb-machinery.hh
|
|
867640af
|
2023-07-14T13:09:16
|
|
Revert "[set] Add test_and_add / test_and_del"
This reverts commit de1237fbf2660b5952dde4db171a62d9b1a77c92.
This seems to be a net loss.
|
|
de1237fb
|
2023-07-14T12:38:56
|
|
[set] Add test_and_add / test_and_del
Use in graph.
|
|
347c1f70
|
2023-07-09T09:33:04
|
|
[set] Keep (lazy) population per bit-page
36% speedup in:
BM_subset/subset_glyphs/merged.devalast.ttf/10
|
|
0364c69e
|
2023-06-07T15:52:18
|
|
[iter] Add has_fast_len
Set iterators are not random_access, but have fast len().
|
|
ca27925d
|
2023-06-03T16:18:15
|
|
Use hb_codepoint_pair_t in more places
|
|
a58bbe54
|
2023-05-09T12:06:35
|
|
[set] Use better hash
|
|
c0e6a96a
|
2023-05-08T14:02:55
|
|
[bit-set] Minor access an array directly
|
|
f4d3b49e
|
2023-05-08T13:59:48
|
|
[set] Micro-optimize iteration
|
|
3416086d
|
2023-05-08T13:39:48
|
|
[set] Optimize is_subset()
|
|
8d8bcde8
|
2023-03-15T17:29:08
|
|
[set] don't allow -1 (HB_SET_VALUE_INVALID) to be inserted into a hb_set_t.
Add tests that check all of the addition methods.
|
|
207ae11a
|
2023-01-05T14:08:47
|
|
[set] Allocate first page exact
|
|
45fc919a
|
2023-01-04T11:35:44
|
|
[bit-set] Minor setting length on allocation failure
|
|
6c272b92
|
2023-01-03T13:00:41
|
|
[set] Don't discard allocation in operator=
That had caused memory thrashing.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54789
|
|
8f2345ca
|
2023-01-02T18:08:45
|
|
Use more vector resize_exact
|
|
54dd01b8
|
2022-12-31T13:33:25
|
|
[set] Use exact-allocation in copying
Significantly reduces memory consumption.
|
|
0c6a7213
|
2022-12-31T12:42:29
|
|
[set] Another exact-size allocation
|
|
1bd38651
|
2022-12-04T12:29:23
|
|
[bit-set] Micro-optimize page_for
|
|
b182e280
|
2022-12-04T12:22:17
|
|
[bit-set] Don't clear pages when copying set
|
|
d2a2670e
|
2022-11-28T19:42:27
|
|
[iter] Simplify has() interface implementations
|
|
9df06a26
|
2022-11-26T14:56:45
|
|
[bit-set] Fix is_subset() short-circut criteria
Ouch!
|
|
03d64b74
|
2022-11-24T14:33:18
|
|
[bit-set] Remove TODO that would never happen
|
|
690df8a3
|
2022-11-24T14:32:51
|
|
[bit-set] Micro-optimize prev()
|
|
fe5d9176
|
2022-11-24T14:30:18
|
|
[bit-set] Micro-optimize size
It's silly that this saves size at all. :(
|
|
cf9b9929
|
2022-11-24T14:26:28
|
|
[bit-set] Micro-optimize process()
|
|
d77903db
|
2022-11-24T14:22:32
|
|
[bit-set] Micro-optimize
|
|
13dd4b46
|
2022-11-24T14:20:42
|
|
[bit-set] Micro-optimize access
|
|
f73c15ca
|
2022-08-03T12:54:03
|
|
[atomic-int] Add operators for relaxed ops
|
|
e5f0bc8f
|
2022-07-13T13:22:34
|
|
[set] Save a few kilobytes via type erasure of process()
|
|
e2aa2990
|
2022-05-27T07:06:02
|
|
[set] Use relaxed atomic ops for last_page_index
Since iterating a set from multiple threads is supported.
|
|
f1bf14ea
|
2022-05-19T16:42:35
|
|
Revert "[set] Cache hash value"
This reverts commit 44952bcc259a906b8875ed62dc40de96ade8b95c.
While we investivate https://github.com/harfbuzz/harfbuzz/issues/3599
|
|
58f848da
|
2022-05-19T15:42:54
|
|
[set/map] Adjust hash function return type
|
|
28b44ac4
|
2022-05-19T15:01:56
|
|
[set] Switch set copy to vector operator =
Slows it down currently.
|
|
44952bcc
|
2022-05-19T14:02:48
|
|
[set] Cache hash value
|
|
844ac328
|
2022-05-19T13:54:31
|
|
[set] Fix hb_set_t hash stability
|
|
124f9aeb
|
2022-05-19T12:58:02
|
|
[set] Make hb_set_t hashable
|
|
1f578b5a
|
2022-05-18T15:24:40
|
|
[set] Add pre-allocation internal API
|
|
067225a8
|
2022-04-29T13:04:36
|
|
[set] Optimize const page_for() using last_page_lookup caching
Similar to previous commit.
This speeds up SetLookup benchmark by 50%, but that's because that
lookup always hits the same page...
|
|
c283e41c
|
2022-04-29T12:45:48
|
|
[set] Optimize non-const page_for() using last_page_lookup caching
This speeds up SetOrderedInsert tests by 15 to 40 percent, and the
subset_mplus1p benchmarks by 9 to 27 percent.
|
|
0a388785
|
2022-03-25T09:42:36
|
|
[set] Minor touch-up on the previous commit
|
|
01829882
|
2022-03-25T08:36:44
|
|
[set] Add call to export set contents to an array. (#3500)
[set] Add hb_set_next_many.
|
|
ef588ea9
|
2022-03-21T13:29:22
|
|
Add option to insert a sorted arrays of values to sets.
|
|
7a1e79c3
|
2022-03-21T13:18:04
|
|
Fix typo.
|
|
4ee00f94
|
2022-03-21T13:16:28
|
|
Use bit shifting instead of multiplying and dividing.
|
|
a28ea8d7
|
2021-11-01T22:50:54
|
|
Simplify swap()
|
|
38debbab
|
2021-11-01T22:17:35
|
|
[set] Add successful check in swap()
|
|
1e3f57c0
|
2021-11-01T21:14:12
|
|
[bit-set] Implement standard-5 methods plus swap
|
|
41b9f2ab
|
2021-08-29T10:47:11
|
|
[set] Add TODO item
|
|
93ac700d
|
2021-08-29T10:32:40
|
|
[set] Add copy-constructor/assignment again
|
|
c90678cb
|
2021-08-24T11:11:12
|
|
[set] One more try to fix things
That I don't let a "make check -j10" run finish before pushing things
out means either that we need to speed up our build / test process,
or I need a faster laptop...
|
|
35797696
|
2021-08-24T10:55:12
|
|
[set] One more try at fixing clear() on empty set
|
|
b5177d21
|
2021-08-24T10:43:37
|
|
[set] Fix seam exposed by previous commit
|
|
dc800ffd
|
2021-08-19T15:35:51
|
|
[bit-set] Remove TODO items we don't intend to finish
|
|
e8911d13
|
2021-08-19T14:59:57
|
|
[bit-set-invertible] Implement a couple other missing corner cases
Also, in bit-set, don't compute population in is_equal/is_subset()
if we don't have it computed already.
|
|
ee4e331a
|
2021-08-19T13:23:22
|
|
[bit-set] Remove unused get_min(inverted)
|
|
b94f24ec
|
2021-08-19T00:48:00
|
|
[bit-set-invertible] Implement set algebra
|
|
8aa92ff8
|
2021-08-18T23:01:06
|
|
[bit-set-invertible] Implement get_min/max
|
|
18f50275
|
2021-08-18T22:08:06
|
|
[bit-set] Restructure get_min/max() in prep for adding inverted
|
|
0efa614c
|
2021-08-18T21:16:05
|
|
[bit-set] Add del_array/del_sorted_array()
|
|
48ad9eef
|
2021-08-18T21:05:21
|
|
[bit-set] Merge page_for_insert() into page_for()
|
|
f0c3804f
|
2021-08-17T15:37:19
|
|
[set] Add hb_bit_set_invertible_t and resurrect hb_set_invert()
Implementation is NOT complete yet.
|
|
fad452bf
|
2021-08-16T20:48:24
|
|
[set] Move main functionality into hb_bit_set_t
To add inversion on top in hb_invertible_set_t and use that as hb_set_t.
|