help-gift
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[help-GIFT] memory leak in the gift-server?


From: Daniel Burckhardt
Subject: [help-GIFT] memory leak in the gift-server?
Date: Fri, 31 May 2002 14:12:13 +0200

hi everyone
i'm using the gift-server for a video-installation - combining live
web-cam images with stored movie-sequences
(http://www.resiteprojects.de).
the basic algorithm is very simple: every 30 seconds, i send the current
web-cam image to the gift server that matches it against still images
from the movies - the movies with highest similarities will be played
next.

for this, i use the CFeedbackClient (i put some code at the end).

my problem is that the gift-process picks up about 192kb of memory for
each query.
the quite reducable pattern (looking at top) is:
0k   start of call to gift (e.g 19196k total)
+4k  spawning gift-extract-feature (e.g 19196k total)
+12k begin gift-extract-feature (e.g 19208k total)
+108k gift-extract-feature returning (e.g 19316 total)
+4k  end gift-extract-feature (e.g 19320k total)
+66k finishing call to gift (e.g 19388 total)
 
right now, i just restart it with a cron-job every 12 hours. so it's not
really a show-stopper. but i'd be of course interested in a real fix.

i'm using gift-0.1.8 on a linux 2.4.10-64GB-SMP kernel (suse 7.3)

thanks very much for your package & your work

daniel burckhardt
----------------------------
use lib '/usr/local/bin'; # for including CFeedbackClient
use CFeedbackClient;

&gift_query;
        
sub gift_query {     # child
  my $lHost="localhost:12789";

  my @lQuery = ([('file:/home/resite/temp/cam.jpg'), 1]);
  my $lFeedbackClient=new CFeedbackClient();
  my $lAlgorithmID;
  my $lCollectionID;
  my $lAdditionalAlgorithmAttributes;
  #the following line is redundant, because
  #this is the default
  $lFeedbackClient->setAddress($lHost);
  $lFeedbackClient->setResultSize(20);# set the size of the desired
query result

  $lFeedbackClient->startSession("-perl-one-shot-query-");
  $lFeedbackClient->configureSession(
                                     $lFeedbackClient->getSessionID(),
                                     $lAlgorithmID,
                                     $lCollectionID,
                                     $lAdditionalAlgorithmAttributes
                                    );#take the defaults
  print "Making query\n";
  STDOUT->autoflush(1);
  my $lQueryToSend=$lFeedbackClient->makeQueryString(
                                                     address@hidden,
                                                     
$lFeedbackClient->getSessionID(),
                                                     $lAlgorithmID,
                                                     $lCollectionID,
                                                    );

  # SENDING THE QUERY
  $lFeedbackClient->sendQueryString($lQueryToSend);

  my $lResultList=$lFeedbackClient->getResultList();

  [snip: do something with the result]

}

-- 
d m burckhardt * marienburger str 32 * d-10405 berlin * 030-44 73 90 44



reply via email to

[Prev in Thread] Current Thread [Next in Thread]