> Are the GUI program files byte-compiled into *.pyc files
> during install?
not sure what happens in the installer, but if not that should happen
automatically the first time you run it, assuming you have write
permissions in the install directory.
fwiw using the rc5 native wingrass installer I seem to have only .py
files in $GISBASE/etc/wxpython/, but do see .pyc in
$GISBASE/etc/wxpython/gui_modules and $GISBASE/python.
(and as you might expect wxgui.py is slow to start)
Below is a script used by PythonXY for opimazation.
Maybe of interest for GRASS, too.
I do not have any further experience with optimazation on windows.
But it happens also on linux that the dialogs take time to pop-up.
For instance calling g.region on CML.
I guess there is happening something inside the wrapper...
(2x1.8Ghz, RAM> 2MB).
BTW, taking about the perfomance of a program shows that the
design has reached a
fairly stable state... These are minor improvements.
First, we need to be happy to have it.
Regards,
Timmie
#### from PythonXY
# -*- coding: latin-1 -*-
#
# Copyright © 2008 Pierre Raybaut
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
from PyQt4.QtGui import QApplication, QMessageBox, QFileDialog, QIcon
import os.path as osp
import time, sys, os
from xy.xyutils import getreg
REGXY = getreg()
LIBPATH = osp.join(REGXY['Python'],'Lib')
def optimize(path):
assert osp.exists(path) and osp.isdir(path)
batfile = 'optimize_temp.bat'
f=open(batfile,'w')
f.write('python -O "%s\compileall.py" "%s"' % (LIBPATH,path) )
f.close()
os.startfile(batfile)
time.sleep(3)
os.remove(batfile)
def main():
app = QApplication(sys.argv)
app.setWindowIcon(QIcon(osp.dirname(__file__)+'/img/pyc.png'))
directory = QFileDialog.getExistingDirectory(None,"Select directory to
optimize",osp.join(LIBPATH,'site-packages'))
if not directory.isEmpty() and QMessageBox.question(None, "Optimize",
"Do you really want to compile all .py
files to .pyo in the following directory?"+"\n\n"+directory,
QMessageBox.Yes, QMessageBox.No) ==
QMessageBox.Yes:
optimize(directory)
if __name__ == "__main__":
if len(sys.argv)>1:
optimize(sys.argv[1])
else:
main()