IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 31524


Ignore:
Timestamp:
May 11, 2011, 10:52:00 AM (15 years ago)
Author:
eugene
Message:

plug some leaks, move CopyMeasure,AverageTiny out of functions (for speed)

Location:
branches/eam_branches/ipp-20110505/Ohana/src/relphot
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20110505/Ohana/src/relphot/doc/allsky.txt

    r31450 r31524  
     1
     22011.05.10
     3
     4  Looking into them memory usage of relphot:
     5  AverageTiny = 32 bytes (including 8 byte padding)
     6  MeasureTiny = 56 bytes (including 8 byte padding)
     7  Image Indexes:
     8    bin   : Nmeasure * off_t
     9    clist : Nmeasure * off_t
     10    mlist : Nmeasure * off_t
     11  Mosaic Indexes:
     12    bin   : Nmeasure * off_t
     13    clist : Nmeasure * off_t
     14    mlist : Nmeasure * off_t
     15  Total:
     16    32 bytes * Naverage (values)
     17    56 bytes * Nmeasure (values)
     18    64 bytes * Nmeasure (indexes)
     19
     20  In my test run, I have 3.3M average + 37.6M measure:
     21    2.1GB values
     22    2.2GB indexes
     23
     24  This matches the memory usage graph.  But, after the indexes have
     25  been loaded, the memory footprint grows (slowly) by another 1GB as
     26  the processing runs along.
     27
     28
     29using 23153493 of 640663697 stars (192585953 of 289672671 measurements)
     30using  3306896 of  48399614 stars ( 37582679 of 193863612 measurements)
     31
     32
    133
    2342011.04.12
  • branches/eam_branches/ipp-20110505/Ohana/src/relphot/src/MosaicOps.c

    r31493 r31524  
    485485
    486486  ALLOCATE (imageOffset, double, Nmosaic);
    487 
    488487  ALLOCATE ( Slist, int *, Nmosaic); // array of calibrated star indexes on this mosaic
    489488  ALLOCATE (NSlist, int,   Nmosaic); // number of stars on mosaic
     
    647646  free (starNcount);
    648647
     648  free (seclist);
     649  free (NSlist);
     650  free (NSLIST);
    649651  for (i = 0; i < Nmosaic; i++){
    650652    free (Slist[i]);
    651653  }
    652   free (NSlist);
    653   free (NSLIST);
     654  free (Slist);
    654655  free (imageOffset);
    655   free (seclist);
    656656  return (TRUE);
    657657}
  • branches/eam_branches/ipp-20110505/Ohana/src/relphot/src/StarOps.c

    r31450 r31524  
    587587  initstats (STATMODE);
    588588  if (VERBOSE) fprintf (stderr, OFF_T_FMT" measures marked poor, "OFF_T_FMT" total\n", Ndel, Nave);
     589  free (list);
     590  free (dlist);
    589591  free (ilist);
    590592  free (tlist);
  • branches/eam_branches/ipp-20110505/Ohana/src/relphot/src/bcatalog.c

    r31450 r31524  
    55int CopyAverageTiny (AverageTiny *averageT, Average *average) {
    66
    7   averageT[0].R     = average[0].R;
    8   averageT[0].D     = average[0].D;
    9   averageT[0].flags = average[0].flags;
     7  averageT[0].R             = average[0].R;
     8  averageT[0].D             = average[0].D;
     9  averageT[0].flags         = average[0].flags;
    1010  averageT[0].Nmeasure      = average[0].Nmeasure;
    1111  averageT[0].measureOffset = average[0].measureOffset;
     
    293293  off_t i;
    294294
     295  AverageTiny *averageT;
     296  Average *average;
     297
     298  MeasureTiny *measureT;
     299  Measure *measure;
     300
    295301  ALLOCATE (catalog[0].measureT, MeasureTiny, catalog[0].Nmeasure);
    296302  ALLOCATE (catalog[0].averageT, AverageTiny, catalog[0].Naverage);
    297303
     304  average  = catalog[0].average;
     305  averageT = catalog[0].averageT;
     306
     307  measure  = catalog[0].measure;
     308  measureT = catalog[0].measureT;
     309
    298310  for (i = 0; i < catalog[0].Naverage; i++) {
    299     CopyAverageTiny (&catalog[0].averageT[i], &catalog[0].average[i]);
     311    // CopyAverageTiny (&catalog[0].averageT[i], &catalog[0].average[i]);
     312    averageT[i].R             = average[i].R;
     313    averageT[i].D             = average[i].D;
     314    averageT[i].flags         = average[i].flags;
     315    averageT[i].Nmeasure      = average[i].Nmeasure;
     316    averageT[i].measureOffset = average[i].measureOffset;
    300317  }
    301318
    302319  for (i = 0; i < catalog[0].Nmeasure; i++) {
    303     CopyMeasureTiny (&catalog[0].measureT[i], &catalog[0].measure[i]);
     320    // CopyMeasureTiny (&catalog[0].measureT[i], &catalog[0].measure[i]);
     321    measureT[i].dR       = measure[i].dR;
     322    measureT[i].dD       = measure[i].dD;
     323    measureT[i].M        = measure[i].M;
     324    measureT[i].Mcal     = measure[i].Mcal;
     325    measureT[i].dM       = measure[i].dM;
     326    measureT[i].airmass  = measure[i].airmass;
     327    measureT[i].Xccd     = measure[i].Xccd;
     328    measureT[i].Yccd     = measure[i].Yccd;
     329    measureT[i].t        = measure[i].t;
     330    measureT[i].dt       = measure[i].dt;
     331    measureT[i].averef   = measure[i].averef;
     332    measureT[i].imageID  = measure[i].imageID;
     333    measureT[i].dbFlags  = measure[i].dbFlags;
     334    measureT[i].photcode = measure[i].photcode;
    304335  }
    305336
  • branches/eam_branches/ipp-20110505/Ohana/src/relphot/src/load_catalogs.c

    r31493 r31524  
    33Catalog *load_catalogs (SkyList *skylist, int *Ncatalog) {
    44
    5   int i, Nmeas, Nstar, Nmeas_total, Nstar_total;
     5  off_t i, Nmeas, Nstar, Nmeas_total, Nstar_total;
    66  Catalog *catalog, tcatalog;
    77
     
    5050  }
    5151  if (Nstar < 2) {
    52     fprintf (stderr, "warning: insufficient stars %d\n", Nstar);
     52    fprintf (stderr, "warning: insufficient stars "OFF_T_FMT"\n", Nstar);
    5353  }
    5454
    55   fprintf (stderr, "using %d of %d stars (%d of %d measurements)\n", Nstar, Nstar_total, Nmeas, Nmeas_total);
     55  fprintf (stderr, "using "OFF_T_FMT" of "OFF_T_FMT" stars ("OFF_T_FMT" of "OFF_T_FMT" measurements)\n", Nstar, Nstar_total, Nmeas, Nmeas_total);
    5656  if (Nstar < 1) Shutdown ("%s", "ERROR: no stars match the minimum requirements; exiting \n");
    5757   
  • branches/eam_branches/ipp-20110505/Ohana/src/relphot/src/reload_catalogs.c

    r31450 r31524  
    1818  double time1 = 0.0;
    1919  double time2 = 0.0;
    20   double time3 = 0.0;
     20  double time3a = 0.0;
     21  double time3b = 0.0;
    2122  double time4 = 0.0;
    2223  double time5 = 0.0;
     
    5758
    5859    populate_tiny_values(&catalog);
     60    TIMESTAMP(time3a);
    5961
    6062    initImageBins  (&catalog, 1);
    6163    initMosaicBins (&catalog, 1);
    6264    initGridBins   (&catalog, 1);
    63     TIMESTAMP(time3);
     65    TIMESTAMP(time3b);
    6466
    6567    findImages (&catalog, 1);  // FX
     
    8385  }
    8486
    85   fprintf (stderr, "time1 %f : find catalog\n", time1);
    86   fprintf (stderr, "time2 %f : load catalog\n", time2);
    87   fprintf (stderr, "time3 %f : init imbins\n",  time3);
    88   fprintf (stderr, "time4 %f : find images\n",  time4);
    89   fprintf (stderr, "time5 %f : set Mrel\n",     time5);
    90   fprintf (stderr, "time6 %f : save catalog\n", time6);
    91   fprintf (stderr, "time7 %f : free catalog\n", time7);
     87  fprintf (stderr, "time1  %f : find catalog\n", time1);
     88  fprintf (stderr, "time2  %f : load catalog\n", time2);
     89  fprintf (stderr, "time3a %f : init imbins\n",  time3a);
     90  fprintf (stderr, "time3b %f : init imbins\n",  time3b);
     91  fprintf (stderr, "time4  %f : find images\n",  time4);
     92  fprintf (stderr, "time5  %f : set Mrel\n",     time5);
     93  fprintf (stderr, "time6  %f : save catalog\n", time6);
     94  fprintf (stderr, "time7  %f : free catalog\n", time7);
    9295}
  • branches/eam_branches/ipp-20110505/Ohana/src/relphot/src/relphot.c

    r31493 r31524  
    207207    dvo_image_save (&dbX, VERBOSE);
    208208    dvo_image_unlock (&dbX);
     209    MARKTIME("-- save Image.dat.bck: %f sec\n", dtime);
    209210  }
    210211
Note: See TracChangeset for help on using the changeset viewer.