Project

General

Profile

Slug #799

vector of "indets" in each PPMonoid?

Added by John Abbott over 8 years ago. Updated over 8 years ago.

Status:
In Progress
Priority:
Low
Assignee:
Category:
Improving
Target version:
Start date:
09 Nov 2015
Due date:
% Done:

20%

Estimated time:
Spent time:

Description

Is it truly useful to have each PPMonoid keep a vector of its own indets?

This is not a problem if the indets are only a few, but becomes expensive if there are many indets.

History

#1 Updated by John Abbott over 8 years ago

The vector of indets is used in the (mem) function mySymbolValue, which currently returns a reference to the image PP.

Is this mem fn called that often? Would there be noticeable performance degradation if the mem fn created a new PP each time?

#2 Updated by John Abbott over 8 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

As far as I can tell PPMonoidBase::myIndets is used only once, in the (inefficient) fn PPMonoidBase::mySymbolValue; this latter fn is called only by SparsePolyRingBase::mySymbolValue which is apparently called only by the pseudo-ctor for a RingElem from a symbol.

#3 Updated by John Abbott over 8 years ago

  • Assignee set to John Abbott
  • Priority changed from Normal to Low
  • Target version changed from CoCoALib-0.99540 Feb 2016 to CoCoALib-1.0
  • % Done changed from 10 to 20

I have lowered the priority of this issue because it will take some time to complete, and the resulting improvement will not be very visible.

I am also thinking that, by default, when creating a polyring with many indets then the preferred PPMonoid impl will be the sparse one, and then the memory consumption problem will be largely resolved.

Also available in: Atom PDF