-
Notifications
You must be signed in to change notification settings - Fork 276
Closed
Labels
Priority:HighHigh Priority Issue or PRHigh Priority Issue or PRbugSomething isn't workingSomething isn't working
Description
This was originally reported on #249, where we noticed that example notebooks in Tutorials/Advanced/ParamEst take approximately 10 times longer to complete on Windows than on Ubuntu. This might or might not be related to recent changes in Pyomo and/or PySP.
I've started to look into this in more detail using one of the ParamEst notebooks, parameter_estimation_NRTL_using_state_block_solution_testing. Here's a summary of what I found out:
- I extracted the Python code in the notebook to a standalone file (
parmest_state_block.py, attached insideparmest.zip) - Running the file as a script with
python parmest_state_block.pyon Ubuntu and Windows seems to confirm the fact that the runtime on Windows (~400 s) is much longer than on Ubuntu (~40 s)- My testing on Windows was on a VM
- Comparing the outputs (
ubuntu.logandwin.log, attached), my untrained eye didn't spot any glaring differences between the two - The output of
pip listfor each system is attached
- Running the file through the standard
cProfilecompiler (python -m cProfile -o parmest.prof parmest_state_block.py) on the two OSes resulted in the two.proffiles attached insideparmest.zip- These can be visualized interactively with the
snakeviztool (pip install snakeviz && snakeviz parmest.prof) - The information on Windows looks partial or incomplete (possibly because of differences in how the two OSes collect metrics from subprocesses?)
- These can be visualized interactively with the
- Finally, I ran the notebook manually on Windows, with similarly long runtimes. A PDF export of the finished output is attached (HTML version inside
parmest.zip)- To be able to run the notebook, I had to apply the fix needed for Jupyter on Python 3.8 documented in Document fix to Python 3.8 DLL error #258
parameter_estimation_NRTL_using_state_block_solution_testing.pdf
parmest.zip
pip-list-ubuntu.txt
pip-list-win.txt
ubuntu.log
win.log
Metadata
Metadata
Assignees
Labels
Priority:HighHigh Priority Issue or PRHigh Priority Issue or PRbugSomething isn't workingSomething isn't working