diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2021-05-18 16:33:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-18 23:33:25 +0000 |
commit | 8099dd859dc2732bea9b9f0c56440bb34a4d22c3 (patch) | |
tree | bb28ae34409c5b44be538653a741f7c5808eee7a /test/lit/wasm-split | |
parent | 9343cbc52def4c9f2400a215589d9d31f3c7c321 (diff) | |
download | binaryen-8099dd859dc2732bea9b9f0c56440bb34a4d22c3.tar.gz binaryen-8099dd859dc2732bea9b9f0c56440bb34a4d22c3.tar.bz2 binaryen-8099dd859dc2732bea9b9f0c56440bb34a4d22c3.zip |
Switch from Hopcroft's to Valmari and Lehtinen's DFA minimization (#3883)
Valmari and Lehtinen's algorithm is broadly similar to Hopcroft's algorithm, but
it more precisely keeps track of which input transitions might be able to split
a partition of states so it ends up doing much less work. Unlike our
implementation of Hopcroft's algorithm, which naively used sets of HeapTypes,
this new algorithm also uses optimized data structures that can split partitions
in constant time and never reallocate.
This change improves the shape canonicalization time for a real-world
unoptimized type section from 40 minutes to 1.5 seconds.
Diffstat (limited to 'test/lit/wasm-split')
0 files changed, 0 insertions, 0 deletions