summaryrefslogtreecommitdiff
path: root/charclass_invlists.h
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2022-04-17 15:00:08 +0200
committerKarl Williamson <khw@cpan.org>2022-04-19 05:41:19 -0600
commiteda35008b17e739922da4577bba648b73b8fbefc (patch)
tree78f8b57ed7d4761f1c41f09d6598de0824cedce3 /charclass_invlists.h
parent44a605b000708fc84ba34c075bc6ba3bb6a3d36d (diff)
downloadperl-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.h2
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: */