Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: sloooowwwwww code!

by Jaap (Curate)
on Sep 12, 2003 at 10:03 UTC ( [id://290981]=note: print w/replies, xml ) Need Help??


in reply to sloooowwwwww code!

Here's a little tip to get you going:
my @directions = ('w', 'sw', 's', 'se', 'e', 'ne', 'n', 'nw'); my $anchor = $directions[int($real_angle/45 + 0.5)];
this piece of untested code would save you 40 lines of code. Not bad eh? Before thinking of speed, try to see if you can make your code more compact.

Replies are listed 'Best First'.
Re: Re: sloooowwwwww code!
by tachyon (Chancellor) on Sep 12, 2003 at 10:36 UTC

    Actually there is very little relationship to the volume of code and the speed. Even in Perl. At least so says Larry and I happen to agree. Sure using 10,000 lines where 2 will do means you will have a longer compile time but when people think/say slow they are generally referring to runtime. At runtime all that really matters is the Algorithm.

    When dealing with slow code making it shorter is not, and never will be the key. Testing it using:

    will let you see precisely where the bottlenecks REALLY ARE. Once you have identified the problem areas (usually not where you suspect!) you can apply your optimisation efforts to where you NOW KNOW it will make a difference.

    This is not to say that your suggested changes are not good, just based on practical experience of what works.

    For example we have the OP using our $dbh but not using that to make the database handle persistent with a $dbh ||= connect Connecting to a database IS slow (comparatively speaking) so doing it once in a given script is more efficient.

    Update

    Corrected sloppy touch typing tpyos. Cheers liz

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2024-04-19 21:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found