Mercurial > hg
view tests/test-webraw @ 5451:0a43875677b1
revlog: break up compression of large deltas
Python's zlib apparently makes an internal copy of strings passed to
compress(). To avoid this, compress strings 1M at a time, then join
them at the end if the result would be smaller than the original.
For initial commits of large but compressible files, this cuts peak
memory usage nearly in half.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 11 Oct 2007 00:46:54 -0500 |
parents | e3a0c092b4e2 |
children | acfb9fa494e2 |
line wrap: on
line source
#!/bin/sh hg init test cd test cat >sometext.txt <<ENDSOME This is just some random text that will go inside the file and take a few lines. It is very boring to read, but computers don't care about things like that. ENDSOME hg add sometext.txt hg commit -d "1 0" -m "Just some text" hg serve -p $HGPORT -A access.log -E error.log -d --pid-file=hg.pid cat hg.pid >> $DAEMON_PIDS ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?f=f165dc289438;file=sometext.txt;style=raw' content-type content-length content-disposition) >getoutput.txt & sleep 5 kill `cat hg.pid` sleep 1 # wait for server to scream and die cat getoutput.txt cat access.log error.log | \ sed 's/^[^ ]*\( [^[]*\[\)[^]]*\(\].*\)$/host\1date\2/'