You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 14, 2023. It is now read-only.
Subversion network operations are much slower than Git local queries. The duration of a Subversion operation is proportional to the amount of the data to transfer from the server. In other words, it is proportional to the length of the queried time interval. The idea of improvement is to split long intervals to shorter ones and run queries against sub-intervals in parallel.
For example, instead of running this command: svn log --diff -r {2016-09-15}:{2017-09-14}
run these two commands in parallel: svn log --diff -r {2016-09-15}:{2017-03-14} svn log --diff -r {2017-03-15}:{2017-09-14}
The degree of parallelism is defined by the server capability. Usually servers limit the number of parallel connections from the same client. Hence user should have the ability to specify the desired level of parallelism as a command line argument. The program should group Subversion repositories against their servers and preserve the desired parallelism level when querying each server.
The text was updated successfully, but these errors were encountered:
Sounds like there should be a default parallelism, and a command line switch to specify parallelism. Alternatively, is it reasonable to employ a calibration phase at startup to test the server parallelism capability? See https://en.m.wikipedia.org/wiki/TCP_congestion_control#Slow_start
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Subversion network operations are much slower than Git local queries. The duration of a Subversion operation is proportional to the amount of the data to transfer from the server. In other words, it is proportional to the length of the queried time interval. The idea of improvement is to split long intervals to shorter ones and run queries against sub-intervals in parallel.
For example, instead of running this command:
svn log --diff -r {2016-09-15}:{2017-09-14}
run these two commands in parallel:
svn log --diff -r {2016-09-15}:{2017-03-14}
svn log --diff -r {2017-03-15}:{2017-09-14}
The degree of parallelism is defined by the server capability. Usually servers limit the number of parallel connections from the same client. Hence user should have the ability to specify the desired level of parallelism as a command line argument. The program should group Subversion repositories against their servers and preserve the desired parallelism level when querying each server.
The text was updated successfully, but these errors were encountered: