store: optimize fncache._write by direncoding the contents in one go
For a netbeans clone on Windows 7 x64:
Before:
$ hg perffncachewrite
! wall 0.210000 comb 0.218401 user 0.202801 sys 0.015600 (best of 47)
After:
$ hg perffncachewrite
! wall 0.104000 comb 0.109201 user 0.078000 sys 0.031200 (best of 95)
$ "$TESTDIR/hghave" inotify || exit 80
$ hg init
$ echo "[extensions]" >> $HGRCPATH
$ echo "inotify=" >> $HGRCPATH
inserve
$ hg inserve -d --pid-file=hg.pid
$ cat hg.pid >> "$DAEMON_PIDS"
let the daemon finish its stuff
$ sleep 1
empty
$ hg debuginotify
directories being watched:
/
.hg/
$ mkdir a
$ sleep 1
only 'a
$ hg debuginotify
directories being watched:
/
.hg/
a/
$ rmdir a
$ sleep 1
empty again
$ hg debuginotify
directories being watched:
/
.hg/
$ kill `cat hg.pid`