Also for consideration in any comparison like this is whether or not a virus scanner is getting in the way at all.
Obviously on Linux this isn't going to be happening but most Windows builds will have a virus scanner of some sort.
Dg.
________________________________
--
David Grierson<https://confluence.bskyb.com/display/~DGR02/> – SDLC Tools Specialist
Sky Broadcasting - Customer Business Systems - SDLC Tools<https://confluence.bskyb.com/display/TwikiImport/>
Tel: +44 1506 325100 / Email: David.Grierson@bskyb.com<mailto:David.Grierson@bskyb.com> / Chatter: CBS SDLC Tools<https://bskyb.my.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F9200000008Z8b>
Watermark Building, Alba Campus, Livingston, EH54 7HH
From: Florian Ludwig [mailto:vierzigundzwei_at_gmail.com]
Sent: 22 April 2014 13:55
To: Johan Corveleyn
Cc: users_at_subversion.apache.org
Subject: Re: Subversion Windows Performance compared to Linux
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)
Information in this email including any attachments may be privileged, confidential and is intended exclusively for the addressee. The views expressed may not be official policy, but the personal views of the originator. If you have received it in error, please notify the sender by return e-mail and delete it from your system. You should not reproduce, distribute, store, retransmit, use or disclose its contents to anyone. Please note we reserve the right to monitor all e-mail communication through our internal and external networks. SKY and the SKY marks are trademarks of British Sky Broadcasting Group plc and Sky International AG and are used under licence. British Sky Broadcasting Limited (Registration No. 2906991), Sky-In-Home Service Limited (Registration No. 2067075) and Sky Subscribers Services Limited (Registration No. 2340150) are direct or indirect subsidiaries of British Sky Broadcasting Group plc (Registration No. 2247735). All of the companies mentioned in this paragraph are incorporated in England and Wales and share the same registered office at Grant Way, Isleworth, Middlesex TW7 5QD.
Received on 2014-04-22 15:31:32 CEST