##// END OF EJS Templates
revlog: add a small cache of unfiltered chunk...
revlog: add a small cache of unfiltered chunk This can provides a massive boost to the reading of multiple revision and the computation of a valid delta chain. This greatly help operation like `hg log --patch`, delta computation (helping pull/unbundle), linkrev adjustment (helping copy tracing). A first round of benchmark for `hg log --patch --limit 1000` shows improvement in the 10-20% range on "small" repository like pypy or mercurial and large improvements (about 33%) for more complex ones like netbeans and mozilla's. These speeds up are consistent with the improvement to `hg pull` (from a server sending poor deltas) I saw benchmarking this last year. Further benchmark will be run during the freeze. I added some configuration in the experimental space to be able to further test the effect of various tuning for now. This feature should fit well in the "usage/resource profile" configuration that we should land next cycle. When it does not provides a benefit the overhead of the cache seem to be around 2%, a small price for the big improvement. In addition I believe we could shave most of this overhead with a more efficent lru implementation.

File last commit:

r51627:d5cd1fd6 stable
r52001:0250e450 default
Show More
hgweb.fcgi
19 lines | 564 B | text/plain | TextLexer
Gregory Szorc
global: use python3 in shebangs...
r46434 #!/usr/bin/env python3
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002 #
# An example FastCGI script for use with flup, edit as necessary
# Path to repo or hgweb config to serve (see 'hg help hgweb')
Harald Klimach
hgweb: compatibility of hgweb.cgi template with Python 3...
r45964 config = b"/path/to/repo/or/config"
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002
Matt Mackall
hgweb: add hint about finding library path with debuginstall
r15475 # Uncomment and adjust if Mercurial is not installed system-wide
# (consult "installed modules" path from 'hg debuginstall'):
Gregory Szorc
black: blacken scripts...
r44058 # import sys; sys.path.insert(0, "/path/to/python/lib")
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002
Gregory Szorc
black: blacken scripts...
r44058 from mercurial import demandimport
demandimport.enable()
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002 from mercurial.hgweb import hgweb
from flup.server.fcgi import WSGIServer
Gregory Szorc
black: blacken scripts...
r44058
Matt Mackall
hgweb: synchronize fcgi and wsgi scripts
r11002 application = hgweb(config)
WSGIServer(application).run()