monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Performance improvement splitout


From: Eric Anderson
Subject: [Monotone-devel] Performance improvement splitout
Date: Mon, 4 Sep 2006 17:42:45 -0700

I've gotten a number of the performance improvements split out for
merging: 

net.venge.monotone.experiment.performance.inline-verify
net.venge.monotone.experiment.performance.vcache-size-hook
net.venge.monotone.experiment.performance.whitespace-trim
net.venge.monotone.experiment.performance.xdelta-speedup
net.venge.monotone.performance.experiment.botan-gzip
  (sorry about the last one, I didn't notice I got the name backwards
   until after I synced)

All of these were earlier agreed to be worth merging.

In addition to the ones that have been discussed earlier, in testing
with pulls over the local network, I found that both sides would idle
during the transfer.  Interestingly, this doesn't happen in testing on
one machine, even with a dual CPU machine so that both server and
client can run at the same time.  I haven't split this one out yet:

5cc1ed0346c5129ddd77ae895985bf743f349cae: skip calling select
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.
        -Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]