> > After doing some experimentation I think I found an easy way to > eliminate unnecessary set copies here is a commit on > https://github.com/mingodad/GLPK/commit/6f3da6ab31ca8d710f706f60635e5 > b17cf2ded40, > also see bellow, glpsol now uses 1/3 of the memory and is slight > faster:
Please note that in the MathProg translator there are two ways used to pass array objects: by reference, when no copy is created, and by value, when a copy is created. In the latter case it is assumed that the routine may change the object passed (directly or indirectly), so I'm not sure that your approach based on using reference counts will work correctly in a general case.
