[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
jpitblado@stata.com (Jeff Pitblado, StataCorp LP) |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: -set memory- in Stata 11 |

Date |
Mon, 27 Jul 2009 15:06:03 -0500 |

Roger Newson <r.newson@imperial.ac.uk> is using Stata 11, and has some do-files that call -set memory- after -clear- while Stata matrices are still in memory: > Thanks to all at StataCorp for the new Stata 11, which I am currently > testing (in its IC flavor) on my Windows XP system, and which seems to be > working as advertized so far. > One immediate query (sorry for being a pest). Is there any special reason > why, in Stata 11, we can no longer reset the memory using -set memory- when > there is a set of estimation results (or even a matrix) in the memory, even > under version control with the command -version 10.1-? (I have included a > demonstration of this feature of Stata 11 under version control below my > signature.) > I ask because we were always allowed to do this in Stata 6, 7, 8, 9 and 10, > and I have therefore always habitually started most of my do-files with > three commands, which were a -version- command, a -clear- command, and a > -set memory- command. As in: > version 10.1; > clear; > set memory 1m; > These do-files worked under their respective Stata versions, or under higher > versions. However, if I re-run a Stata 10.1 do-file beginning with these 3 > commands under Stata 11, and a set of estimation results (or a matrix) > already exists in the memory, then the first 2 commands execute OK, but the > third command aborts with the error message > no; Stata matrices have not been cleared > (type -clear matrix- to clear Stata matrices) > I am aware that, if I amend the second of the above 3 commands so that they > read > version 10.1; > clear all; > set memory 1m; > then the matrices will be cleared as well, and the do-file will therefore > run under either Stata 10.1 or Stata 11. However, I was wondering if there > is a quick fix to this minor teething problem which does not require me to > edit most of my existing currently active do-files one by one. I cannot > immediately find such a fix in the on-line help for -clear- or -memory-, or > in the new .pdf manuals (which are a much appreciated improvement - thanks > to all at StataCorp). In Stata 11, matrix column/row names were updated to handle the new factor variables notation, thus their data-structures are much more dynamic than before. Because of this we were faced with two competing issues: 1. The new matrix column/row names could fragment memory making it difficult for Stata to allocate the memory requested in a call to -set memory-. 2. We don't want -clear- to just remove all matrices from memory because that would result in a loss of all the estimation results currently in memory. Thus we elected to have -set memory- complain if it found any matrices currently stored in memory, just like it complains if there is any data or Mata objects left in memory. Roger has discovered the best solution by using -clear all- at the top of his do-files. In fact, in Stata 9 and earlier and thus under version control, -clear- is essentially the same as the modern -clear all-. Thus, Roger should not need to change any of his do-files from the Stata 9 days or earlier. --Jeff jpitblado@stata.com * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**st: RE: st: -set memory- in Stata 11***From:*"Newson, Roger B" <r.newson@imperial.ac.uk>

- Prev by Date:
**st: re: overidentifying restrictions** - Next by Date:
**st: RE: Stata 11 imputation** - Previous by thread:
**st: -set memory- in Stata 11** - Next by thread:
**st: RE: st: -set memory- in Stata 11** - Index(es):

© Copyright 1996–2017 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |