Mercurial > hg
view tests/test-inotify-lookup.t @ 17962:4c29668ca316 stable
util: make chunkbuffer non-quadratic on Windows
The old str-based += collector performed very nicely on Linux, but
turns out to be quadratically expensive on Windows, causing
chunkbuffer to dominate in profiles.
This list-based version has been measured to significantly improve
performance with large chunks on Windows, with negligible overall
overhead on Linux (though microbenchmarks show it to be about 50% slower).
This may increase memory overhead where += didn't behave quadratically. If we
want to gather up 1G of data to join, we temporarily have 1G in our
list and 1G in our string.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 26 Nov 2012 15:42:52 -0600 |
parents | 5ae8711ea324 |
children | a9e830ecd9fb |
line wrap: on
line source
$ "$TESTDIR/hghave" inotify || exit 80 $ hg init $ echo "[extensions]" > .hg/hgrc $ echo "inotify=" >> .hg/hgrc $ hg inserve -d --pid-file .hg/inotify.pid $ echo a > a $ hg ci -Aqm0 $ hg co -q null $ hg co -q $ hg st $ cat a a $ kill `cat .hg/inotify.pid`