view README @ 27106:6ef17697b03d

ui: track label expansion when creating buffers As part of profiling `hg log` performance, I noticed a lot of time is spent in buffered writes to ui instances. This patch starts a series that refactors buffered writes with the eventual intent to improve performance. Currently, labels are expanded when buffers are popped. This means we have to preserve the original text and the label until we render the final output. This is avoidable overhead and adds complexity since we're retaining state. This patch adds functionality to ui.pushbuffer() to declare whether label expansion should be active for the buffer. Labels are still evaluated during buffer pop. This will change in a subsequent patch. Since we'll need to access the "expand labels" flag on future write() operations, we prematurely optimize how the current value is stored to optimize for rapid retrieval.
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 22 Nov 2015 14:10:48 -0800
parents 4b0fc75f9403
children 76b171209151
line wrap: on
line source

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install:

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing:

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.