[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Subversion Windows Performance compared to Linux

From: Florian Ludwig <vierzigundzwei_at_gmail.com>
Date: Tue, 22 Apr 2014 14:55:22 +0200

> From your numbers I deduce that the performance degradation can be
> attributed partly to NTFS vs. ext4, and partly to Windows7 vs. Linux:
> * NTFS vs. ext4: roughly a factor 3 slower.
> * Windows 7 vs. Linux: roughly a factor 2.5 slower.
>

You assume that the file operation performance of Windows on NTFS and Linux
on NTFS is the same - which I am sure it is not. First of all the NTFS
driver on Linux is FUSE-based so it runs in userspace and therefor slower
than kernel based drivers such as ext4. Also ext4 is one of the most used
file system on Linux so I expect its code to be much more optimized.

Another interesting data point might be: what does the client-side
> option exclusive-locking [1] (available as of 1.8) do to the test
> results? Can you give that a try? Just adding "--config-option
> config:working-copy:exclusive-locking=true" to your command line
> invocations should do the trick.
>

I tried that, it bring down the checkout times (better result of two runs):

 * Linux ext4: 1m 15s
 * Linux NTFS: 3m 2s
 * Windows NTW: 6m 52s

So there is no noteworthy change on Linux but Windows performance improved
by 25% (9m 19s down to 6m 52s). It is still slow and further improvements
would be welcome.

Also: it would be good to know the exact versions of sqlite and other
> libraries that your svn (client) versions were built with. As of 1.8,
> this information is provided by 'svn --version --verbose'.
>

 Linux:

svn, version 1.8.8 (r1568071)
   compiled Feb 28 2014, 19:40:43 on x86_64-redhat-linux-gnu

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.4
  - handles 'http' scheme
  - handles 'https' scheme

System information:

* running on x86_64-unknown-linux-gnu
  - Fedora release 20 (Heisenbug) (Heisenbug) [Linux 3.13.8-200.fc20.x86_64]
* linked dependencies:
  - APR 1.5.0 (compiled with 1.5.0)
  - APR-Util 1.5.3 (compiled with 1.5.3)
  - SQLite 3.8.4.2 (compiled with 3.8.3)

Windows:

svn, version 1.8.8 (r1568071)
   compiled Apr 12 2014, 14:17:25 on x86-microsoft-windows

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.4
  - handles 'http' scheme
  - handles 'https' scheme

System information:

* running on x86_64-microsoft-windows6.1.7601
  - Windows 7 Ultimate N, Service Pack 1, build 7601 [6.1 Client
Multiprocessor Free]
* linked dependencies:
  - APR 1.5.0 (compiled with 1.5.0)
  - APR-Util 1.5.3 (compiled with 1.5.3)
  - SQLite 3.8.3.1 (compiled with 3.8.3.1)
* loaded shared libraries:
  - C:\Program Files\TortoiseSVN\bin\svn.exe (1.8.8.60743)
  - C:\Windows\SYSTEM32\ntdll.dll (6.1.7601.18247)
  - C:\Windows\system32\kernel32.dll (6.1.7601.18409)
  - C:\Windows\system32\KERNELBASE.dll (6.1.7601.18229)
  - C:\Program Files\TortoiseSVN\bin\libsvn_tsvn.dll (1.8.8.60743)
  - C:\Program Files\TortoiseSVN\bin\libapr_tsvn.dll (1.5)
  - C:\Windows\system32\WS2_32.dll (6.1.7601.17514)
  - C:\Windows\system32\msvcrt.dll (7.0.7601.17744)
  - C:\Windows\system32\RPCRT4.dll (6.1.7601.18205)
  - C:\Windows\system32\NSI.dll (6.1.7600.16385)
  - C:\Windows\system32\MSWSOCK.dll (6.1.7601.18254)
  - C:\Windows\system32\user32.dll (6.1.7601.17514)
  - C:\Windows\system32\GDI32.dll (6.1.7601.18275)
  - C:\Windows\system32\LPK.dll (6.1.7601.18177)
  - C:\Windows\system32\USP10.dll (1.626.7601.18009)
  - C:\Windows\system32\ADVAPI32.dll (6.1.7601.18247)
  - C:\Windows\SYSTEM32\sechost.dll (6.1.7600.16385)
  - C:\Windows\system32\SHELL32.dll (6.1.7601.18222)
  - C:\Windows\system32\SHLWAPI.dll (6.1.7601.17514)
  - C:\Windows\system32\MSVCR110.dll (11.0.51106.1)
  - C:\Program Files\TortoiseSVN\bin\libaprutil_tsvn.dll (1.5.3)
  - C:\Windows\system32\WLDAP32.dll (6.1.7601.17514)
  - C:\Program Files\TortoiseSVN\bin\intl3_tsvn.dll (0.14.6)
  - C:\Program Files\TortoiseSVN\bin\libsasl.dll (2.1.24)
  - C:\Windows\system32\ole32.dll (6.1.7601.17514)
  - C:\Windows\system32\Secur32.dll (6.1.7601.18270)
  - C:\Windows\system32\SSPICLI.DLL (6.1.7601.18270)
  - C:\Windows\system32\CRYPT32.dll (6.1.7601.18277)
  - C:\Windows\system32\MSASN1.dll (6.1.7601.17514)
  - C:\Windows\system32\VERSION.dll (6.1.7600.16385)
  - C:\Windows\system32\IMM32.DLL (6.1.7600.16385)
  - C:\Windows\system32\MSCTF.dll (6.1.7600.16385)
  - C:\Windows\system32\profapi.dll (6.1.7600.16385)
  - C:\Program Files\TortoiseSVN\bin\saslANONYMOUS.dll (2.1.24)
  - C:\Program Files\TortoiseSVN\bin\saslCRAMMD5.dll (2.1.24)
  - C:\Program Files\TortoiseSVN\bin\saslDIGESTMD5.dll (2.1.24)
  - C:\Program Files\TortoiseSVN\bin\saslGSSAPI.dll (2.1.24)
  - C:\Program Files\TortoiseSVN\bin\saslLOGIN.dll (2.1.24)
  - C:\Program Files\TortoiseSVN\bin\saslNTLM.dll (2.1.24)
  - C:\Program Files\TortoiseSVN\bin\saslPLAIN.dll (2.1.24)
  - C:\Windows\system32\Msimg32.DLL (6.1.7600.16385)
  - C:\Windows\system32\api-ms-win-downlevel-advapi32-l1-1-0.dll
(6.2.9200.16492)
  - C:\Windows\system32\psapi.dll (6.1.7600.16385)
Received on 2014-04-22 14:56:03 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.