Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Increase speed of nested loop Win32 Excel Manipulation

by Perlbotics (Bishop)
on Feb 16, 2019 at 18:51 UTC ( #1230001=note: print w/replies, xml ) Need Help??

in reply to Increase speed of nested loop Win32 Excel Manipulation

You could shift those parts from the current loop towards the outer loop that do not depend on the variables of the current loop (= are constant in that loop). This avoids unnecessary re-computation and might slightly improve performance.

use warnings; use Win32::OLE; use Win32::OLE qw(in with); use Win32::OLE::Const "Microsoft Excel" my $yes = "yes"; #-- moved: constant for both loops for ($begincol;$begincol<$totcol;$begincol++) { my $app = $sheet2->Cells(3,$begincol)->{'Text'}; #-- moved: consta +nt for next loop for ($beginrow;$beginrow<$maxrows;$beginrow++) { my $cap = $Sheet2->Cells($beginrow,5)->{'Text'}; #-- moved out of inner loop: my $app = $sheet2->Cells(3,$begi +ncol)->{'Text'}; #-- moved out of both loops: my $yes = "yes"; if (index($app, $cap) != -1) { $Sheet->Cells($beginrow,$begincol)->{Value} = $asis; } } $beginrow = 7; }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1230001]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (2)
As of 2022-05-18 14:24 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (71 votes). Check out past polls.