'svn checkout' more then 10x slower under Windows than under Unix. The root cause (see below) seems to be that we copy and rename files even during an initial checkout. Those operations are much more expensive than simply creating a file. Future SVN releases should directly write to the final file location and use the wc.db to mark those files as "not final, yet" to ensure interruptibility etc. Larger SQL operation granularity (e.g. batch inserts) should also help to reduce the problem. Here's how to reproduce: 1. download the benchmark-binaries.zip file from https://ctf.open.collab.net/sf/go/rel2819 . 2. create a repo and load it via the .dump file in the .zip file. 3. check out the repo. Findings: Checkout with 1.8.3 using svn:// over 1GbE takes ~3:20 on Win7 vs. ~0:13 on Linux. Most time on Windows is spent in "System", under Linux 1/3 is sys time. Initial analysis: (a) Disabling Virus Scanner brought it down to 2:40. Disabling TSvnCache and Windows Search had almost no effect (~5s). (b) Profiling shows that we run a gazillion INSERT transactions in the wc.db. Running with --config-option config:working-copy:exclusive-locking-clients=svn brought times down to 1:20 and 0:10 respectively. (c) On Windows, those 80s are dominated by 37% apr_file_rename / MoveFileExW 12% apr_file_open / CreateFileW 7% apr_file_close / CloseHandle SqLite is ~15% (svn_sqlite__step). Those apr_file_* functions are called approx. once (rename) or twice (open/close) per item in the working copy which is the lower limit.