On Thu, Jan 13, 2011 at 01:25:27PM +0000, Stefan Sperling wrote: > This is about callbacks in the libsvn_client(!) and libsvn_wc APIs. > Those are widely used by third parties so we should really make > the right decision. > > Do we trust third parties to heed restrictions we place on callbacks? > There is no way can enforce the restrictions. We can only document them > and hope that third party developers play along. However, this would > give us the best performance we can theoretically get (based on the > assumption that the number of sqlite queries we run is a major > limiting factor). > > Or we could decide not to run callbacks while sqlite transactions > are in progress, and pay some performance overhead. We'd have to > run multiple queries and provide data to the callback in chunks > (of, say, directory-sized units). I'm not sure if this would provide > adequate performance, but I haven't taken any measurements either (yet). > A recent change of this kind I made to the node walker didn't make > to make any notable difference. > > We may need both approaches anyway, if we decide to use the second > approach in backwards-compat code. > > Opinions?
I've made svn proplist issue per-directory queries in r1066541. Reviews of this change are most welcome. Also, if someone has a nice way of testing performance impacts of this change it would be interesting to see the results. I have not done any benchmarking myself yet. Stefan