Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Performance gains after the commited optimizations

I've found out great gains coming from multiple optimizations. I'm writing the Doxygen-like tool in Zsh, which uses (z) flag and much processing in loops.

Processing a 1500-lines file, gains are:

- from 14 seconds to 8 seconds, thanks to patch:

2017-03-04 8522e99 40781: optimize array assignment, similar to 39995 for string assignment

– from 20 seconds to 14 seconds, thanks to patch:

2016-12-28 4fb4ce1 40231: Optimise setarrvalue().

– from 25 seconds to 20 seconds, thanks to patch:

2016-11-14 99acd1e 39906: More multibyte optimisations for US-ASCII.

– from 30 seconds to 25 seconds, thanks to patch:

2016-11-04 9c68ef0 39825: optimise mb_metastrlenend() for 7-bit character.
one other patch that contributed 1 sec, but no time and energy to run bisect

I was searching for real-word confirmation of each optimization and it was hard to find  them, only once zsh-syntax-highlighting gained from 99acd1e and 9c68ef0. Thanks for commiting those patches, they've had say "off-by-1" complexity, the possibility to break special cases, so it wasn't easy to read them. I can now parse large file in 8 seconds, while 5.0.8 does it in 38 seconds (in 5.1 probably Bart's heap optimizations matter).

Sebastian Gniazdowski
psprint /at/ zdharma.org

Messages sorted by: Reverse Date, Date, Thread, Author