mvz / email-outlook-message-perl

Email::Outlook::Message Perl module for reading Outlook .msg files
http://www.matijs.net/software/msgconv/
175 stars 31 forks source link

Major perf improvement with large #s of addresses and small block data #41

Open todd-richmond opened 2 years ago

todd-richmond commented 2 years ago

I have a customer message with 1100 addresses and tons of other small block data that takes 9.5 minutes to parse, but after optimizing both this module and OLE::Storage_lite (PR created for that project too), the time is down to < 4 seconds There are a few fixes here 1) eliminate linear address scan and use hash lookup instead 2) cache the utf16 decoder as looking up every time is slow 3) optimize methods called countless times - I had one at 4 billion calls!

todd-richmond commented 2 months ago

merge conflict resolved. My diff was based off the last release build