Feature #730

Stats in GBMill (GReductor)

Added by John Abbott almost 3 years ago. Updated 5 months ago.

Target version:
Start date:
10 Jun 2015
Due date:
% Done:


Estimated time:
4.00 h
Spent time:


There is already some implementation for gathering stats in G-basis computation.

Review it!

Perhaps separate stats from progress logging?

Related issues

Related to CoCoALib - Feature #931: GBasis verbose modeClosed2016-09-24


#1 Updated by John Abbott almost 3 years ago

Mario asked about gathering stats for his involutive basis code.

I suggested using a struct to keep all the stats stuff together.

Why a struct rather than a class? Not entirely sure; a struct seems simpler: by having all data members public any code can increment counters etc.. With a class it would probably be necessary to have lots of one line functions (at least one to increment a counter, and another to read the counter), yet without any obvious gain.

Anyway, we can try first with a struct; if that proves not to be as easy/clean as hoped then it should be easy to switch to a class.

#2 Updated by John Abbott almost 3 years ago

I suppose Mario ought to write about this. He has followed my design suggestion, and seems to be happy with it. If it continues to work well, perhaps we should consider adapting the GBMill stats gatherer to work in a similar way.

After speaking to Mario we felt that it was appropriate to have separate mechanisms for gathering stats and for producing progress/logging info. The GBMill implementation seems to have both combined (see TmpGRStats.H). I also note that the counters in the GBMill impl are unsigned int; it would probably be better to replace them with long (or possibly unsigned long) since unsigned int may be limited to 2^32.

#3 Updated by Anna Maria Bigatti about 1 year ago

#4 Updated by Anna Maria Bigatti about 1 year ago

  • Subject changed from Stats in GBMill to Stats in GBMill (GReductor)
  • % Done changed from 0 to 20
  • Estimated time set to 6.00 h

This issue is about "Stats", i.e. gathering info about number of pairs, timings, etc.
This is strictly related with "verbosity", which prints them out, but without recording data.

I'm now resurrecting the GRStats code, making it compatible/complementary with the new verbosity mechanism.

#5 Updated by Anna Maria Bigatti about 1 year ago

  • Status changed from New to In Progress
  • Assignee set to Anna Maria Bigatti
  • % Done changed from 20 to 30

Studying and organizing the old GRStats code by Max Caboara.
Now adapting it to VerbosityLevel.

#6 Updated by Anna Maria Bigatti 12 months ago

  • Target version changed from CoCoALib-0.99999 to CoCoALib-0.99550 spring 2017

Current version is OK, probably not final but acceptable for version 99550/5.2.0

#7 Updated by Anna Maria Bigatti 12 months ago

  • Target version changed from CoCoALib-0.99550 spring 2017 to CoCoALib-0.99560

#8 Updated by John Abbott 6 months ago

  • Status changed from In Progress to Feedback
  • % Done changed from 30 to 90

#9 Updated by Anna Maria Bigatti 5 months ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100
  • Estimated time changed from 6.00 h to 4.00 h

Closing this issue.
May be improved, but it is acceptable for the general requirement.
I needed make a more specific issue.

Also available in: Atom PDF