[Bio] / Sprout / CustomAttributes.pm Repository:
ViewVC logotype

Diff of /Sprout/CustomAttributes.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.26, Mon Jun 11 18:44:40 2007 UTC revision 1.27, Sun Sep 30 03:46:30 2007 UTC
# Line 9  Line 9 
9      use Tracer;      use Tracer;
10      use ERDBLoad;      use ERDBLoad;
11      use Stats;      use Stats;
12        use Time::HiRes;
13    
14  =head1 Custom SEED Attribute Manager  =head1 Custom SEED Attribute Manager
15    
# Line 437  Line 438 
438      my ($self, $fileName, %options) = @_;      my ($self, $fileName, %options) = @_;
439      # Declare the return variable.      # Declare the return variable.
440      my $retVal = Stats->new('keys', 'values');      my $retVal = Stats->new('keys', 'values');
441        # Initialize the timers.
442        my ($insertTime, $eraseTime, $archiveTime) = (0, 0, 0);
443      # Check for append mode.      # Check for append mode.
444      my $append = ($options{append} ? 1 : 0);      my $append = ($options{append} ? 1 : 0);
445      # Create a hash of key names found.      # Create a hash of key names found.
# Line 473  Line 476 
476              }              }
477              # Archive the line (if necessary).              # Archive the line (if necessary).
478              if (defined $ah) {              if (defined $ah) {
479                    my $startTime = time();
480                  Tracer::PutLine($ah, [$id, $key, @values]);                  Tracer::PutLine($ah, [$id, $key, @values]);
481                    $archiveTime += time() - $startTime;
482              }              }
483              # Do some validation.              # Do some validation.
484              if (! $id) {              if (! $id) {
# Line 505  Line 510 
510                          $retVal->Add(keys => 1);                          $retVal->Add(keys => 1);
511                          # If this is NOT append mode, erase the key.                          # If this is NOT append mode, erase the key.
512                          if (! $append) {                          if (! $append) {
513                                my $startTime = time();
514                              $self->EraseAttribute($realKey);                              $self->EraseAttribute($realKey);
515                                $eraseTime += time() - $startTime;
516                                Trace("Attribute $realKey erased.") if T(3);
517                          }                          }
518                      }                      }
519                      Trace("Key $realKey found.") if T(3);                      Trace("Key $realKey found.") if T(3);
520                  }                  }
521                  # Everything is all set up, so add the value.                  # Everything is all set up, so add the value.
522                    my $startTime = time();
523                  $self->AddAttribute($id, $key, @values);                  $self->AddAttribute($id, $key, @values);
524                    $insertTime += time() - $startTime;
525                  my $progress = $retVal->Add(values => 1);                  my $progress = $retVal->Add(values => 1);
526                  Trace("$progress values loaded.") if T(3) && ($progress % 1000 == 0);                  Trace("$progress values loaded.") if T(3) && ($progress % 1000 == 0);
527              }              }
528          }          }
529            $retVal->Add(eraseTime  =>  $eraseTime);
530            $retVal->Add(insertTime =>  $insertTime);
531            $retVal->Add(archiveTime => $archiveTime);
532      };      };
533      # Check for an error.      # Check for an error.
534      if ($@) {      if ($@) {

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3