Skip Menu |
 

This queue is for tickets about the Win32-OLE CPAN distribution.

Report information
The Basics
Id: 7638
Status: new
Priority: 0/
Queue: Win32-OLE

People
Owner: Nobody in particular
Requestors: Richard.Beckett [...] motorola.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



From: Beckett Richard-qswi266 <Richard.Beckett [...] motorola.com>
To: "'bug-Win32-OLE [...] rt.cpan.org'" <bug-Win32-OLE [...] rt.cpan.org>
Subject: use Win32::OLE::Const 'Microsoft Excel'; Takes 75 seconds!!
Date: Tue, 14 Sep 2004 11:14:57 +0100
Download (untitled) / with headers
text/plain 2.3k
Hi, This script:... use Win32::OLE::Const 'Microsoft Excel'; print xlExtractData."\n"; Takes 75 seconds to execute! I did this: perl -D:Prof test1.pl dprofpp -r tmon.out and got this result: Exporter::export has -1 unstacked calls in outer Exporter::Heavy::heavy_export has 1 unstacked calls in outer Total Elapsed Time = 74.89209 Seconds Real Time = 74.89209 Seconds Exclusive Times %Time ExclSec CumulS #Calls sec/call Csec/c Name 99.4 74.45 74.454 538 0.1384 0.1384 Win32::OLE::Const::_Typelib 0.36 0.268 74.722 1 0.2678 74.721 Win32::OLE::Const::_Typelibs 0.07 0.051 0.051 1 0.0510 0.0510 Win32::OLE::Const::_LoadRegTypeLib 0.05 0.040 0.040 1 0.0400 0.0400 Win32::OLE::Const::_Constants 0.04 0.030 74.892 1 0.0300 74.892 main::BEGIN 0.03 0.020 0.050 3 0.0066 0.0165 Win32::OLE::Const::BEGIN 0.01 0.010 0.010 2 0.0050 0.0050 Config::fetch_string 0.01 0.010 0.010 2 0.0050 0.0050 DynaLoader::BEGIN 0.01 0.010 0.010 3 0.0033 0.0033 vars::BEGIN 0.00 0.000 0.000 1 0.0000 0.0000 Exporter::Heavy::heavy_export 0.00 - -0.000 1 - - Config::TIEHASH 0.00 - -0.000 1 - - DynaLoader::dl_load_file 0.00 - -0.000 1 - - DynaLoader::dl_install_xsub 0.00 - -0.000 1 - - warnings::BEGIN 0.00 - -0.000 1 - - Config::import My system: XPpro SP1 with 512 Mb memory, an Intel(R) Pentium(R) M processor 1600MHz with a bus speed of 797 MHz, activeperl v5.8.4 build 810. D:\>perl -MWin32::OLE=999 Win32::OLE version 999 required--this is only version 0.1701 at C:/Perl/lib/Exporter/Heavy.pm line 121. BEGIN failed--compilation aborted. After a lot of fiddling about, I have found 2 things that make a difference. 1. Remove the network cable from my PC. Then the 2 line script runs in ~5 seconds. 2. Modify C:\Perl\site\lib\Win32\OLE\Const.pm, and change this line: return unless -f $filename || $filename !~ /^\w:\\.*\.(exe|dll)$/; to this: return unless $filename !~ /^\w:\\.*\.(exe|dll)$/; and the 2 liner runs instantaneously. For now, can I safely use this workaround to speed things up, or is it safer to use the -f test, and simply put up with the delay? Feel free to contact me if you need any more information. Thanks, R.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.