From: Fernando P. <Fer...@co...> - 2005-06-21 20:52:25
|
John Hunter wrote: >>>>>>"Fernando" == Fernando Perez <Fer...@co...> writes: > > > Fernando> This was in a long-running session with very large > Fernando> memory allocations, but it dawned on me that > Fernando> get_dvipng_version(self) should cache its return value. > Fernando> There's no point in forcing a popen() call every single > Fernando> time, is there? > > It already does cache the version > > def get_dvipng_version(self): > if self.dvipngVersion is not None: return self.dvipngVersion > sin, sout = os.popen2('dvipng --version') > ...snip... > > I think the reason it is failing in your case is that is each renderer > creation creates a new TexManager instance. The cache should be on a > class basis and not on a per instance basis (slaps self on head). > Moving > > self.dvipngVersion = None > > to the class level and out of __init__ should suffice. I made this > change, and similar changes in texmanager and backend_agg, so that > caching is shared between instances. Update from CVS and let me know > if everything still works :-) swamped at the moment, but I'll let you know if I see problems when I get a chance. > Fernando> I also just saw pylab crash when a user was trying to > Fernando> run with $PWD being something he didn't have write > Fernando> access to. Are there any checks in the code to fall > Fernando> back to /tmp or something sensible if texmanager can't > Fernando> write the temp files it needs? Sorry for not giving a > Fernando> traceback, but I only saw this on someone else's screen > Fernando> while helping them, and for some odd reason it's not > Fernando> happening on my box. > > This is probably failing on the tex/latex temporary files. I spent > some time initially trying to figure out how to get these to go into > ~/.tex.cache but didn't succeed. If anyone knows how to direct > tex/latex to put the various *.aux, *.log, etc, files in a specified > directory, pass it my way. I don't really know, sorry. My texpertise is pretty limited, as you know :) Thanks for the fixes! f |