##// END OF EJS Templates
perf: split obtaining chunks from decompression...
perf: split obtaining chunks from decompression Previously, the code was similar to what revlog._chunks() was doing, which took a raw data segment and delta chain, obtained buffers for the raw revlog chunks within, and decompressed them. This commit splits the "get raw chunks" action from "decompress." The goal of this change is to more accurately measurely decompression performance. On a ~50k deltachain for a manifest in mozilla-central: ! full ! wall 0.430548 comb 0.440000 user 0.410000 sys 0.030000 (best of 24) ! deltachain ! wall 0.016053 comb 0.010000 user 0.010000 sys 0.000000 (best of 181) ! read ! wall 0.008078 comb 0.010000 user 0.000000 sys 0.010000 (best of 362) ! rawchunks ! wall 0.033785 comb 0.040000 user 0.040000 sys 0.000000 (best of 100) ! decompress ! wall 0.327126 comb 0.320000 user 0.320000 sys 0.000000 (best of 31) ! patch ! wall 0.032391 comb 0.030000 user 0.030000 sys 0.000000 (best of 100) ! hash ! wall 0.012587 comb 0.010000 user 0.010000 sys 0.000000 (best of 233)
Gregory Szorc -
r30882:74cfc435 default
Show More
Name Size Modified Last Commit Author
/ contrib / chg
Makefile Loading ...
README Loading ...
chg.1 Loading ...
chg.c Loading ...
hgclient.c Loading ...
hgclient.h Loading ...
procutil.c Loading ...
procutil.h Loading ...
util.c Loading ...
util.h Loading ...

cHg
===

A fast client for Mercurial command server running on Unix.

Install:

$ make
$ make install

Usage:

$ chg help # show help of Mercurial
$ alias hg=chg # replace hg command
$ chg --kill-chg-daemon # terminate background server

Environment variables:

Although cHg tries to update environment variables, some of them cannot be
changed after spawning the server. The following variables are specially
handled:

* configuration files are reloaded automatically by default.
* CHGHG or HG specifies the path to the hg executable spawned as the
background command server.

The following variables are available for testing:

* CHGDEBUG enables debug messages.
* CHGSOCKNAME specifies the socket path of the background cmdserver.
* CHGTIMEOUT specifies how many seconds chg will wait before giving up
connecting to a cmdserver. If it is 0, chg will wait forever. Default: 60