Return-Path: Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 10124 invoked by uid 500); 20 Aug 2003 12:26:25 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 9966 invoked from network); 20 Aug 2003 12:26:22 -0000 Received: from relay.t-intra.de (HELO relay.t-online-com.de) (62.156.147.74) by daedalus.apache.org with SMTP; 20 Aug 2003 12:26:22 -0000 Received: from DJ0X820J (p5080E383.dip0.t-ipconnect.de [80.128.227.131]) by relay.t-online-com.de (SMTPSVC(1.0.0.1)) with ESMTP id AB00015004D for ; Wed, 20 Aug 2003 14:24:15 +0200 (CEST) Message-ID: <0cdf01c36716$6df74950$020200c0@DJ0X820J> From: "Antoine Levy-Lambert" To: "Ant Developers List" Subject: bug #20103 - performance of FTPDirectoryScanner Date: Wed, 20 Aug 2003 14:27:31 +0200 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0CDA_01C36727.30FB31E0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N ------=_NextPart_000_0CDA_01C36727.30FB31E0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I am attaching an improved patch on = http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3D20103. This patch speeds up FTP scanning against case sensitive file systems = (when followsymlinks =3D true) when the include patterns are of the type = some/very/long/path.=20 The code autodetects whether the remote system is case sensitive. The = way it is done is that if the system encounters a subdirectory called = alpha and there is no subdirectory called ALPHA in the same path, it = will attempt to cd to ALPHA. If this fails, the code will draw the conclusion that the remote system = is case sensitive.=20 If the user did not set followsymlinks=3D"false", then there is no = reason to scan each path component of some/very/long/path to check the = spelling. Trying to go directly to some/very/long/path will tell = immediately if this path exists or not. I will commit my patch in the next days if there are no comments. Here are some results : 1 scan src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java=20 2 scan src/main/**/*.java (figures in milliseconds to run a scan) system Windows - hummingbird FTP server =20 1-old 2063 1-new 2163 2-old 29573 2-new 29523 UNIX (cvs.apache.org) 1-old 197 1-new 48 2-old 1590 2-new 1443 Cheers, Antoine ------=_NextPart_000_0CDA_01C36727.30FB31E0--