Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: Why is my program so slow even though I've used hashes?

by Angharad (Pilgrim)
on May 28, 2009 at 18:25 UTC ( #766719=note: print w/replies, xml ) Need Help??

in reply to Why is my program so slow even though I've used hashes?

Thanks very much for all your comments so far. With that in mind, I changed some of my code as follows
foreach my $key (sort keys %csa_hash) { #print "$key\n"; # ok we now need to split up the key in the hash my $pdb = substr($key, 0, 4); my $chain = substr($key, 5, 1); my $res = substr($key, 7, 6); #print "$pdb $chain $res\n"; # works great. using substring as I d +ont really want to create an array my $pdbchain = "$pdb" . "$chain"; # concatenate together so to com +pare with domain data # print "$pdbchain\n"; # works fine # lets be on the safe side and remove white space # for domchain and pdbchain $res =~ s/\s//g; #$domchain =~ s/\s//g; $pdbchain =~ s/\s//g; #chomp($domchain); chomp($pdbchain); if($dom_hash{$pdbchain}{$res}) { print "$pdbchain $res\n"; } }
And now it runs in seconds. I'm no longer looping over %dom_hash, I'm simply using it as a look up table.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2023-02-05 14:55 GMT
Find Nodes?
    Voting Booth?
    I prefer not to run the latest version of Perl because:

    Results (31 votes). Check out past polls.