http://qs1969.pair.com?node_id=145286


in reply to File::Find on Win32 with mapped drives

What version of Windows are you running? What version of Windows are the servers running? If you are using Win2K or NT clients/servers your performance should be decent. I've had perl scripts that process over 10K files across a local network in about 10-15 minutes. If Win9X/ME is used, you'll have a performance hit there. What kind of connection do you have to the share? You mention 'the far east', are you talking about processing files across a trans-ocean hop? I had code that copied files from a CD-ROM into a particular directory structure on a network share. The Win95 machine with the CD-ROM was in one city while the NT file server was 12 or 14 hops away in another city (about 40 miles) across several T1 lines. It took about 2 to 3 hours to copy 300MB to 400MB of data. Be default, File::Find does a CHDIR into each directory it processes. You might pick up some speed if you disabled it. i.e. find( {wanted => \&wanted(), no_chdir => 1}, 'm:/'); Finally, if the process is too slow, you might want to consider moving the data closer to you or your code closer to the data.
  • Comment on Re: File::Find on Win32 with mapped drives