|
b1522239
|
2023-06-04T13:58:10
|
|
[cff] Minor type change
|
|
640774b9
|
2023-06-04T13:26:14
|
|
[subset/cff] Speed up subsr subset for retaingids
|
|
6b11a3d9
|
2023-06-04T13:18:43
|
|
[subset/cff] Speed up closure_subroutines for retaingids
|
|
31014832
|
2023-06-04T12:58:02
|
|
[cff1] More hygiene
|
|
bf0a08c9
|
2023-06-04T12:54:35
|
|
[cff1] Hygiene
|
|
ebc5257e
|
2023-06-04T11:25:16
|
|
[cff1] Add a couple of unlikely's
|
|
9cdc0b64
|
2023-06-04T11:18:56
|
|
[subset/cff] Speed up subset_cff_fdselect
|
|
858a0223
|
2023-06-04T10:55:41
|
|
Revert "[cff] Optimize writing out Index offsets"
This reverts commit 78ba23c58766c16992ddc4e3af403824aa845fe2.
Not enough gain, and bloats code size.
|
|
78ba23c5
|
2023-06-04T10:52:19
|
|
[cff] Optimize writing out Index offsets
|
|
89ce8048
|
2023-06-04T10:20:39
|
|
[serialize] Remove attribute malloc
This broke tests. It wasn't technically correct.
|
|
3f2a1b64
|
2023-06-04T10:13:53
|
|
Fix build
|
|
e1715056
|
2023-06-04T10:09:02
|
|
[serialize] One more attribute
|
|
15048e50
|
2023-06-04T10:07:04
|
|
[serialize] Add more function attributes
|
|
aad12ca6
|
2023-06-04T09:57:51
|
|
[serialize] Add a few function attributes
|
|
4e076da9
|
2023-06-04T09:48:42
|
|
Another try at fixing build
|
|
b08866af
|
2023-06-04T09:44:37
|
|
Fix build
|
|
82741304
|
2023-06-04T09:41:41
|
|
[subset] start_embed never returns nullptr
Remove checks.
|
|
c2eaedd2
|
2023-06-04T09:25:07
|
|
[fuzzing] Add a test font
From https://oss-fuzz.com/testcase-detail/5855710991482880
|
|
af3fdf1f
|
2023-06-04T09:22:42
|
|
[subset/glyf] Simplify error handling
|
|
3dd1de46
|
2023-06-04T09:15:14
|
|
[subset/glyf] Fix a few return_trace's
|
|
73f2f935
|
2023-06-04T09:12:18
|
|
[subset/glyf] Fix another leak
|
|
3d08a2f1
|
2023-06-03T23:38:38
|
|
[subset/glyf] Fix leak
|
|
fc33200d
|
2023-06-03T23:29:39
|
|
[subset/glyf] Avoid a vector copy
Oops!
|
|
3bfcbd61
|
2023-06-03T23:17:56
|
|
[subset/glyf] Minor use range lopp
|
|
917c8d0a
|
2023-06-03T23:15:56
|
|
[subset/glyf] Minor change of value
|
|
2b8c4313
|
2023-06-03T23:01:27
|
|
[vector] Oops!
|
|
054f966a
|
2023-06-03T22:52:16
|
|
[subset/cff1] Don't allocate memory for retaingid holes
40% speedup in BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/retaingids/10
benchmark.
|
|
b5792f11
|
2023-06-03T22:24:06
|
|
[subset] Reuse num_glyphs in various places
|
|
7e4311a8
|
2023-06-03T22:11:47
|
|
[cff] Speed up for retaingids
|
|
ca237e6b
|
2023-06-03T22:07:29
|
|
[subset/cff] Reuse num_glyphs
|
|
1590754b
|
2023-06-03T22:04:52
|
|
[subset/cff] Speed up for retaingids
|
|
dff3a936
|
2023-06-03T22:00:28
|
|
[subset/cff1] Speed up for retaingids
|
|
fa8d15d5
|
2023-06-03T21:58:21
|
|
[subset/cff1] Reuse num_glyphs
|
|
937ead2f
|
2023-06-03T21:38:56
|
|
[subset/hvar] Speed up for retaingids
|
|
acab716b
|
2023-06-03T21:15:36
|
|
[subset/hvar] Speed up for retaingids
|
|
bc6dbf43
|
2023-06-03T21:09:33
|
|
[subset/gvar] Micro-optimize
|
|
84134753
|
2023-06-03T21:08:30
|
|
[subset/gvar] Speed up for retaingids
|
|
87cf09bd
|
2023-06-03T21:00:56
|
|
[subset/loca] Fix up for retaingid null glyphs at the end
We currently don't have those, but in case we add.
|
|
2fb670a5
|
2023-06-03T20:56:04
|
|
[subset/gvar] Speed up for retaingids
|
|
5b167934
|
2023-06-03T20:45:52
|
|
[subset/hdmx] Micro-optimize
|
|
9b733532
|
2023-06-03T20:44:08
|
|
[subset/hdmx] Fix build
|
|
4d4792ce
|
2023-06-03T20:34:51
|
|
[subset/hdmx] Speed up more for retaingids
|
|
a3f7ed70
|
2023-06-03T20:25:14
|
|
[subset/hdmx] Don't clear memory unnecessarily
|
|
e263c3cc
|
2023-06-03T20:20:57
|
|
[subset/hdmx] Speed up
|
|
0e16be9b
|
2023-06-03T19:45:44
|
|
[subset-plan] Reuse glyph_for_gid result
|
|
590fb352
|
2023-06-03T19:21:22
|
|
[subset] Reduce memory pressure
|
|
c03c3000
|
2023-06-03T19:05:10
|
|
[subset] Tweak memory allocation
Reduces chances of rework, specially for glyf table if padding
is needed...
|
|
38fa0323
|
2023-06-03T18:51:09
|
|
Revert "[subset/loca] Build in the serializer memory"
This reverts commit 546b51818666ca1ddb01824f752eccbd6a751b4b.
|
|
546b5181
|
2023-06-03T18:50:35
|
|
[subset/loca] Build in the serializer memory
Because it's hot. Doesn't seem to speed up though. Slight
slowdown. Going to revert.
|
|
3cb2b49e
|
2023-06-03T18:44:56
|
|
[subset/loca] Shuffle code around
|
|
f014112d
|
2023-06-03T18:27:24
|
|
Revert "[subset] Allow adding table directly from subset()"
This reverts commit 25a6514887ebe899bd4ede1e283e067f97e15def.
|
|
25a65148
|
2023-06-03T18:26:36
|
|
[subset] Allow adding table directly from subset()
And do it for hmtx. Going to revert since it slows things down.
Apparently the serializer buffer is in caches and hot, so faster
to write to and copy even.
|
|
b0d0babb
|
2023-06-03T17:14:55
|
|
[subset/loca] Rewrite loop faster
|
|
8dab4441
|
2023-06-03T17:06:30
|
|
[subset/hmtx] Micro-optimize last commit
hb_zip has its own overhead...
|
|
e981dc24
|
2023-06-03T17:01:52
|
|
[subset/hmtx] Rewrite loop faster for retaingid
|
|
4a9da026
|
2023-06-03T16:46:29
|
|
[subset/hmtx] Micro-optimize
|
|
6a3fcc64
|
2023-06-03T16:38:18
|
|
[map] Don't call hash() if map is empty
|
|
735d2496
|
2023-06-03T16:35:03
|
|
[map] Remove an unlikely
Empty maps are common in some subsetting operations.
|
|
ca27925d
|
2023-06-03T16:18:15
|
|
Use hb_codepoint_pair_t in more places
|
|
841e86fd
|
2023-06-03T16:09:45
|
|
[subset/hmtx] Further speedup!
|
|
de729ec1
|
2023-06-03T15:48:54
|
|
[meta] Return reference from reference-wrapper
|
|
c7493efe
|
2023-06-03T15:39:27
|
|
[subset/loca] Micro-optimize
|
|
13a4c7b3
|
2023-06-03T15:12:53
|
|
[subset/hmtx] Comment
|
|
4da2996f
|
2023-06-03T15:08:20
|
|
[doc] Fix
|
|
c3e7f451
|
2023-06-03T14:56:47
|
|
Add HB_CODEPOINT_INVALID
Fixes https://github.com/harfbuzz/harfbuzz/issues/4262
|
|
efefec13
|
2023-06-02T20:33:52
|
|
[subset/glyf] Remove unneeded codepath
|
|
ac1f5ca0
|
2023-06-02T17:07:44
|
|
[subset/loca] Micro-optimize
|
|
6eae9325
|
2023-06-02T17:05:27
|
|
[subset/loca] Reduce a vector allocation
|
|
cd249d23
|
2023-06-02T16:15:05
|
|
[subset/hmtx] Micro-optimize
|
|
ec8965e4
|
2023-06-02T16:10:25
|
|
[subset/glyf] Don't clear loca allocation
|
|
916629d1
|
2023-06-02T16:08:49
|
|
[subset/hmtx] Don't clear allocation
|
|
24b069cd
|
2023-06-02T15:55:53
|
|
[subset] Pre-alloc a few maps
|
|
7319d0d7
|
2023-06-02T15:41:47
|
|
[subset-plan] Add a couple of map pre-allocations
Approximate...
|
|
76904b04
|
2023-06-02T15:30:12
|
|
[subset-plan] Simplify / speedup planning glyphset
|
|
965ce7bb
|
2023-06-02T15:24:00
|
|
[subset-plan] Speed up planning new_to_old_gid_list
|
|
b67e464b
|
2023-06-02T15:11:06
|
|
[subset/retaingid] Regain perf lost
In 0f12fd5a66a5dd1c3c9ac5ea8a52341bafcfe567
|
|
0f12fd5a
|
2023-06-02T13:58:55
|
|
[subset/glyf] Fix for non-monotonic glyphmap
Slows things down again, but is correct. Still a good win
combined with the previous changes.
|
|
66ce902c
|
2023-06-02T13:53:21
|
|
[glyf] Reduce allocation again
|
|
0e0110e7
|
2023-06-02T13:34:58
|
|
[glyf] Avoid a SubsetGlyph copy
Unfortunately hb_second() always does a copy...
|
|
33ea8b5e
|
2023-06-02T13:10:52
|
|
[subset/glyf] Don't allocate empty SubsetGlyf's
Shows 33% speedup on Mplus/retaingid/10 benchmark:
Comparing before to after
Benchmark Time CPU Time Old Time New CPU Old CPU New
--------------------------------------------------------------------------------------------------------------------------------------------------------
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10 -0.3296 -0.3294 0 0 0 0
|
|
ad872e23
|
2023-06-02T18:32:09
|
|
[subset] Optimize hmtx/vmtx serialization.
Make serializer allocation up front to avoid bounds checking overhead for each metric.
Benchmarks:
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10_median -0.1005 -0.1005 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/64_median -0.0693 -0.0692 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/512_median -0.0294 -0.0293 1 1 1 1
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/4096_median -0.0033 -0.0032 3 3 3 3
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10000_median +0.0170 +0.0171 7 7 7 7
|
|
c6368e01
|
2023-06-01T20:51:17
|
|
[map] Return const reference from operator()
Like we do in operator[].
|
|
b04ca1c1
|
2023-06-01T20:43:07
|
|
Revert "[subset/glyf] Exact allocation"
This reverts commit a830f085c849846f8441f5d92d4db36130ef71f8.
Weirdly enough in a benchmark I'm running I see this show
some slowdown. Makes zero sense.
|
|
a830f085
|
2023-06-01T20:37:29
|
|
[subset/glyf] Exact allocation
|
|
ff0b85cf
|
2023-06-01T20:30:56
|
|
[subset/glyf] Empty .notdef only if old-gid was also 0
Otherwise it wasn't a .notdef, even if new-gid is 0.
|
|
65a7d8c6
|
2023-06-01T20:20:00
|
|
[glyf] Empty glyphs need no padding
|
|
73c18d1d
|
2023-06-01T20:06:42
|
|
[glyf] Micro-optimize padded_offsets
|
|
88d8a6d6
|
2023-06-01T19:24:02
|
|
[BEInt] Use packed-int trick for writing as well
|
|
4d853b8b
|
2023-06-01T18:47:58
|
|
[subset/regaingid/glyf] Add a fastpath for empty glyphs
Mplus benchmark:
Comparing before to after
Benchmark Time CPU Time Old Time New CPU Old CPU New
-----------------------------------------------------------------------------------------------------------------------------------------------------------
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10 -0.1764 -0.1771 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/64 -0.1394 -0.1394 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/512 -0.0644 -0.0645 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/4096 +0.0132 +0.0131 1 1 1 1
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/retaingids/10000 -0.0029 -0.0034 3 3 3 3
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/10 +0.0364 +0.0362 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/64 +0.0346 +0.0343 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/512 +0.0271 +0.0268 0 0 0 0
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/4096 +0.0193 +0.0193 1 1 1 1
BM_subset/subset_glyphs/Mplus1p-Regular.ttf/10000 -0.0240 -0.0243 2 2 2 2
OVERALL_GEOMEAN -0.0305 -0.0307 0 0 0 0
|
|
6ec7629f
|
2023-06-01T18:18:30
|
|
[subset/glyf] Add a const
|
|
9f54ab92
|
2023-06-01T17:45:03
|
|
[subset-plan] Keep a reverse-gid vector
To speed up iteration.
|
|
6b0d3867
|
2023-06-01T23:59:55
|
|
[subset] in subset benchmarks switch nohinting with retaingids.
retain gids is a more interesting case than no hinting for performance.
|
|
1ae99d1a
|
2023-06-01T15:22:26
|
|
bug fix
|
|
aa7dd70a
|
2023-06-01T14:24:33
|
|
[hmtx] Reduce map usage slightly
|
|
f41c5ec9
|
2023-06-01T18:38:05
|
|
[map] update map benchmark to also test lookups that hit.
|
|
4acf6a82
|
2023-05-30T09:26:58
|
|
[instancer-solver] port solver fix from fonttools
See https://github.com/fonttools/fonttools/issues/3139
|
|
f3b4d35f
|
2023-05-29T22:38:40
|
|
[subset] Fix fuzzer crash.
https://oss-fuzz.com/testcase-detail/6608005089853440
|
|
ff326fbe
|
2023-05-29T21:31:01
|
|
[repacker] check the result of add_buffer() in other places where it's called.
|
|
66a84355
|
2023-05-29T17:17:15
|
|
[hash] Use unsigned types
Hopefully ubsan wouldn't complain about overflows now.
|
|
4a93576b
|
2023-05-28T13:22:35
|
|
Revert "[map] Speedup for int types"
This reverts commit c1b75f5ff0460274229801816265a0efe5731b3a.
I was seeing very long chains (140) and a 17% slowdown in
BM_subset/subset_codepoints/RobotoFlex-Variable.ttf/512
Bummer.
|