Ignore:
Timestamp:
Nov 13, 2014, 11:38:57 PM (9 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '4bd32dfef92ec9f5ed8dceee82d14318ae147107')
Children:
85bd2a6af0f0dbc2125e835be461c105507f8e55
Parents:
13079719da06e518c20fdb2a9e05c26bff4e8cf4
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2014-11-13 23:38:57+01:00
git-committer:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2014-11-17 20:53:53+01:00
Message:
Added statistic counting to Syzygy computation inside syzextra

added: a macro RTIMER_BENCHMARKING which if option(prot) will cause the output of timestamps around the most important calls
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/dyn_modules/syzextra/syzextra.h

    r130797 r2ded87  
    1919#include <vector>
    2020#include <map>
     21#include <string.h>
    2122
    2223// include basic definitions
     
    264265        m_sum_bucket(NULL), m_spoly_bucket(NULL)
    265266    {
     267      if( __PROT__ ) memset( &m_stat, 0, sizeof(m_stat) );
    266268    }
    267269
     
    275277        m_sum_bucket(NULL), m_spoly_bucket(NULL)
    276278    {
     279      if( __PROT__ ) memset( &m_stat, 0, sizeof(m_stat) );
     280     
    277281      if( __TAILREDSYZ__ && !__IGNORETAILS__)
    278282      {
     
    291295    void SetUpTailTerms();
    292296
     297    /// print statistics about the used heuristics
     298    void PrintStats() const;
     299
    293300    /// Read off the results while detaching them from this object
    294301    /// NOTE: no copy!
     
    298305
    299306      m_syzLeads = m_syzTails = NULL; // m_LS ?
     307     
     308      if ( __PROT__ )
     309        PrintStats();
    300310    }
     311
    301312
    302313    /// The main driver function: computes
     
    401412};
    402413
     414   
     415    /// Statistics:
     416    ///  0..3: as in SetUpTailTerms()::PreProcessTerm() // TODO!!??
     417    ///  4: number of terms discarded due to LOT heuristics
     418    ///  5: number of terms discarded due to LCM heuristics
     419    ///  6, 7: lookups without & with rescale, 8: stores
     420    mutable unsigned long m_stat[9];
     421};
    403422
    404423// The following wrappers are just for testing separate functions on highest level (within schreyer.lib)
Note: See TracChangeset for help on using the changeset viewer.