Changes 0 to 10 on this branch are displayed below, sorted in descending chronological order.

4121 days ago: Skip calling select again if we processed some data from the remote
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: Skip calling select again if we processed some data from the remote
side. Somehow the call to select with a 1us timeout ends up waiting a
bunch of the time leading to idleness in the client (on a pull).
Oddly making this change significantly increases the amount of user
time; haven't investigated why as the tradeoff for reduced wall clock
time is a win. Best guess is that because the client is running
faster, it makes more recv calls for less data.
netsync.cc: move the handling of armed above the probe; go back
around the loop if we successfully processed something.
original
real 10m27.918s user 6m19.432s sys 0m6.404s
real 10m21.848s user 6m17.436s sys 0m6.284s
patched:
real 8m10.310s user 6m49.878s sys 0m11.125s
real 8m16.353s user 6m57.018s sys 0m11.473s
Date: Mon, 14 Aug 2006 07:42:34 GMT
4125 days ago: adler32.hh, xdelta.cc: Cosmetic fixes to whitespace and expansion of comments.
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: adler32.hh, xdelta.cc: Cosmetic fixes to whitespace and expansion of comments.
Date: Thu, 10 Aug 2006 08:01:47 GMT
4127 days ago: Improvements to the xdelta code in order to take advantage of the fact
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: Improvements to the xdelta code in order to take advantage of the fact
that we are always using a relatively small window for the adler32
hash, and that when we skip forward, we normally skip forward by alot
so it's faster to just recompute the rolling checksum on the new data
than actually move the rolling checksum forward. 1.03x improvement in
cpu usage on the client, 1.12x improvement in cpu usage on the server.
adler32.hh: move a bunch of things into being constants, and migrate
to just doing a direct cast of the character rather than the widen()
stuff because the widen does a bunch of unnecessary masking. Code
added to xdelta.cc to verify correctness of this transform. Optimize
the insertion of a bunch of values for the case where the count is
small; just put an invariant in place to require that condition as
it's the only one used. For the small update case, we can skip a lot
of the masking that we would otherwise have to do as nothing can
overflow.
xdelta.cc: mark the blocksz as constant (it is), remove the unused hi
variable from compute_delta_insns. Specialize the xdelta advancement
code to handle the case where we advance by a lot by skipping over the
intermediate characters rather than pulling the rolling checksum
forward the entire way. Add in some simple code to verify that the
widen transform we made is valid.
Statistic ref-2245 xdelta
pull-avg-resident-MiB 46.69 ? 46.78
pull-avg-size-MiB 52.21 ? 52.20
pull-max-resident-MiB 65.32 < 65.89
pull-max-size-MiB 72.01 ? 72.22
pull-system-time 20.44 > 19.67
pull-user-time 676.79 > 657.13
pull-wall-time 919.58 > 895.51
server-avg-resident-MiB 53.41 ? 53.32
server-avg-size-MiB 58.66 ? 58.57
server-max-resident-MiB 59.56 ? 59.43
server-max-size-MiB 65.02 ? 64.98
server-system-time 19.55 < 20.61
server-user-time 190.12 > 166.96
server-wall-time 922.73 > 898.66
Date: Mon, 07 Aug 2006 18:58:55 GMT
4128 days ago: Modify whitespace trimming used to make cert id's to append to an
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: Modify whitespace trimming used to make cert id's to append to an
existing string rather than constructing a new string and appending
the new string to the existing one. 1.01x cpu reduction on client,
1.01x cpu reduction on server.
cert.cc: use the new function.
simplestring_xform.cc: define function that appends a whitespace-cleared
string to another string, modify existing whitespace clearing function
to use the above.
simplestring_xform.hh: define new function.
ref-e1a7 whitespace cleanup
pull-avg-resident-MiB 46.81 ? 46.59
pull-avg-size-MiB 52.25 ? 52.03
pull-max-resident-MiB 65.59 ? 65.98
pull-max-size-MiB 72.21 ? 72.59
pull-system-time 22.18 > 21.09
pull-user-time 691.40 > 687.00
pull-wall-time 931.83 ? 929.23
server-avg-resident-MiB 53.13 ? 53.32
server-avg-size-MiB 58.36 ? 58.56
server-max-resident-MiB 59.54 ? 59.43
server-max-size-MiB 65.09 ? 64.82
server-system-time 22.02 ? 21.16
server-user-time 193.65 > 192.19
server-wall-time 934.98 ? 932.38
Date: Mon, 07 Aug 2006 05:41:02 GMT
4128 days ago: Remove zeroing of memory used by Botan to do compression. 1.06x
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: Remove zeroing of memory used by Botan to do compression. 1.06x
reduction in client time, 1.02x in server time.
gzip.cpp: if we are not paranoid, don't use the paranoid memory
allocation functions.
init.{cpp,h}: define a variable for how paranoid we are going to be
about zeroing memory.
monotone.cc: set that we are not paranoid.
Statistic ref-4d38 zlib-patch
pull-avg-resident-MiB 46.64 ? 46.81
pull-avg-size-MiB 52.03 ? 52.25
pull-max-resident-MiB 65.93 ? 65.59
pull-max-size-MiB 72.46 ? 72.21
pull-system-time 23.04 > 22.18
pull-user-time 734.72 > 691.40
pull-wall-time 976.10 > 931.83
server-avg-resident-MiB 53.00 ? 53.13
server-avg-size-MiB 58.23 ? 58.36
server-max-resident-MiB 59.20 ? 59.54
server-max-size-MiB 64.73 ? 65.09
server-system-time 21.44 ? 22.02
server-user-time 198.78 > 193.65
server-wall-time 979.25 > 934.98
Date: Mon, 07 Aug 2006 05:35:53 GMT
4128 days ago: Move the verify function to be inline so that it disappears from callgrind
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: Move the verify function to be inline so that it disappears from callgrind
output to make it easier to find real problems. A non-statistically
significant reduction in user time on client and server.
Mean1 from results-pull/pull-ref-464e-memtime/stats.csv
Mean2 from results-pull/pull-verify-memtime/stats.csv
Statistic Mean1 Mean2
pull-avg-resident-MiB 46.82 ? 46.64
pull-avg-size-MiB 52.24 > 52.03
pull-max-resident-MiB 65.63 ? 65.93
pull-max-size-MiB 71.92 ? 72.46
pull-system-time 23.17 ? 23.04
pull-user-time 735.76 ? 734.72
pull-wall-time 976.53 ? 976.10
server-avg-resident-MiB 53.06 ? 53.00
server-avg-size-MiB 58.34 ? 58.23
server-max-resident-MiB 59.76 ? 59.20
server-max-size-MiB 65.47 ? 64.73
server-system-time 21.45 ? 21.44
server-user-time 198.95 ? 198.78
server-wall-time 979.69 ? 979.25
Date: Mon, 07 Aug 2006 05:31:16 GMT
4128 days ago: Patch to add in binary rosters; substantial (1.2x) speed
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: * Patch to add in binary rosters; substantial (1.2x) speed
improvement for the client on pull, some speed improvement on
annotate (only informally tested, matters much more when annotating
a file near the end of the roster than the beginning). A wash on the
server, although I haven't tested serving with an all-binary roster
database.
cmd_merging.cc: call the ascii version of the roster_print routine for the
regresison test.
fake_pthread.c: fixups to eliminate compiler warnings
roster.cc: All sorts of changes to deal with the binary version of rosters
format for the binary version is almost the same as for ascii, but the
netio routines are used rather than the printing routines, the markers
for different types are single characters, and a length is included in
each record so that it is easy to skip through records when scanning
for a particular one. An earlier attempt put an index at the end of the
roster, and while this also worked to skip through quickly, it had the
downside that the database increased in size by ~10%.
roster.hh: binary version of the printing routines and the explicit ascii
version
Statistic Mean1 Mean2
pull-avg-resident-MiB 49.58 ? 49.29
pull-avg-size-MiB 55.08 < 56.65
pull-max-resident-MiB 73.31 < 74.61
pull-max-size-MiB 79.20 < 80.91
pull-system-time 18.44 < 19.44
pull-user-time 737.24 < 879.79
pull-wall-time 969.47 < 1110.88
server-avg-resident-MiB 53.47 ? 53.66
server-avg-size-MiB 58.77 ? 58.82
server-max-resident-MiB 59.29 ? 59.31
server-max-size-MiB 64.69 ? 64.83
server-system-time 27.34 ? 28.28
server-user-time 207.30 ? 206.19
server-wall-time 972.64 < 1114.76
Date: Sun, 06 Aug 2006 22:34:17 GMT
4129 days ago: merge of '4d7d4d7b60a52b709486285c830a32e47825fd45'
revision info | browse files | diff, diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: merge of '4d7d4d7b60a52b709486285c830a32e47825fd45'
and 'd6ac464bec394bf665ed8207a169c9ecdb7bbc05'
Date: Sat, 05 Aug 2006 21:30:15 GMT
4131 days ago: Add in the fake-pthread hack to fake up pthread calls with no-ops so that
revision info | browse files | diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: * Add in the fake-pthread hack to fake up pthread calls with no-ops so that
programs that don't really need pthreads but are forced to link by a
shared library dependency don't suffer. 1.20x performance improvement
fake_pthread.c: All the faked up calls
Makefile.am, configure.ac: Enable use of fake-pthread with --enable-fakepthread
Statistic ref-d1e5 fake-pthread
pull-avg-resident-MiB 49.07 > 48.49
pull-avg-size-MiB 56.41 > 55.82
pull-max-resident-MiB 74.79 ? 74.66
pull-max-size-MiB 81.15 ? 81.00
pull-system-time 11.36 ? 11.48
pull-user-time 1109.36 > 922.06
pull-wall-time 1619.89 > 1429.07
server-avg-resident-MiB 54.02 ? 53.51
server-avg-size-MiB 59.29 ? 58.78
server-max-resident-MiB 59.73 ? 59.19
server-max-size-MiB 65.06 > 64.28
server-system-time 26.02 ? 25.94
server-user-time 228.76 > 216.60
server-wall-time 1623.11 > 1432.27
Date: Fri, 04 Aug 2006 04:44:53 GMT
4132 days ago: merge of '033e5805502c5441ef539ab5cbc1a497e9930b00'
revision info | browse files | diff, diff
Author: anderse-monotone@cello.hpl.hp.com
Changelog: merge of '033e5805502c5441ef539ab5cbc1a497e9930b00'
and '27c06ef5b20ade167011e489bc2e5333eed00faf'
Date: Thu, 03 Aug 2006 00:20:13 GMT
earlier changes recent changes (no later changes)