HomePhabricator

histedit: cache description line

Authored by martinvonz.

Description

histedit: cache description line

Navigating the curses-based histedit interface can be pretty slow
because it redraws everything whenever you make a change.

This patch simply replaces @property by @util.propertycache on the
histeditrule.desc() function so it's not re-calculated every time
the screen needs to be re-rendered. I timed it on an example of 30
simple commits, where I moved the top commit down 25 steps and then up
25 steps after. Before this patch, that (the whole hg histedit
invocation) took 11.6 s of CPU and after this patch it took 0.8 s).

Differential Revision: https://phab.mercurial-scm.org/D9016

Details

Committed
martinvonzFri, Sep 11, 12:35 PM
Differential Revision
D9016: histedit: cache description line
Parents
rHG814c7430f828: tests: make emacs test less strict
Branches
Unknown
Tags
Unknown