I was compiling using -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1, without any WHITELIST or BLACKLIST, which means all the functions are interpreted? The file size is reduced significantly, comparing with the 26M monster-sized ASM.js version, this version with EMTERPRETER is only 2.5M, which improves the startup time a lot.
While I was planning to optimize after making it work, I found the performance is good enough, I don't feel any delay for normal navigation or editing operations, but it does become slightly slower for commands like `%s/^/hello/g`, which inserts 'hello' at the beginning of each line.
This interpreter is surprisingly faster than I had expected, probably there were already lots of async operations in Vim maybe? Anyway I'm quite happy with this new technique!
Thanks!
regards,
- Lu