diff options
author | Yves Orton <demerphq@gmail.com> | 2022-04-17 15:00:08 +0200 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-04-19 05:41:19 -0600 |
commit | eda35008b17e739922da4577bba648b73b8fbefc (patch) | |
tree | 78f8b57ed7d4761f1c41f09d6598de0824cedce3 /charclass_invlists.h | |
parent | 44a605b000708fc84ba34c075bc6ba3bb6a3d36d (diff) | |
download | perl-eda35008b17e739922da4577bba648b73b8fbefc.tar.gz |
regen/mph.pl & mk_invlists.pl - add the "_squeeze" algorithm to produce smaller blobs
The squeeze algorithm produces smaller blobs, 10-20% depending on how it
is used. With the "randomize_squeeze" option enabled it is slower but
produces 20% smaller blobs than the "_simple" strategy we used to use.
With the "randomize_squeeze" option disabled it is about as fast as
"_simple" but produces about 10% smaller blobs. Regardless "_squeeze"
uses more memory than _simple; quite a bit more currently, although that
is unforced and could be changed if required.
-blob length: 10548
+blob length: 8635
...
-data size: 69908 (%67.07)
+data size: 67995 (%65.23)
So it saves 1913 bytes running with this seed. I happened to get lucky
with the seed, depending on the seed used the blob ended up about 8650
bytes.
This algorithm is originally by Ilya Sashcheka, so I have added him to
the AUTHORS file, but unfortunately I no longer have his email address
as we lost touch. It contains many modifications by me.
Diffstat (limited to 'charclass_invlists.h')
-rw-r--r-- | charclass_invlists.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/charclass_invlists.h b/charclass_invlists.h index 73447dc032..2aa27f3b79 100644 --- a/charclass_invlists.h +++ b/charclass_invlists.h @@ -430755,5 +430755,5 @@ static const U8 WB_table[23][23] = { * c72bbdeda99714db1c8024d3311da4aef3c0db3b9b9f11455a7cfe10d5e9aba3 lib/unicore/version * 0a6b5ab33bb1026531f816efe81aea1a8ffcd34a27cbea37dd6a70a63d73c844 regen/charset_translations.pl * 5f8520d3a17ade6317fc0c423f5091470924b1ef425bca0c41ce8e4a9f8460fe regen/mk_PL_charclass.pl - * 9c08a09afbb28779be92ff658e0d27e654be4570241048689e2ffc20437a3d91 regen/mk_invlists.pl + * 1c73795f9150bd556573e7ae982789377289e22b6a7f3db0a05c36852e8d749f regen/mk_invlists.pl * ex: set ro: */ |