I'm currently working on a very comprehensive Vensim model and each simulation takes about 15 minutes.
That's way too long to be able to work sophistically with Vensim.
What can I do to make Vensim faster without changing the model?
What is the optimal hardware configuration to get the most out of Vensim in terms of speed?
How many cores can be addressed by Vensim? Is there a chance to address more than one?
Vensim Performance - Hardware
-
- Super Administrator
- Posts: 4573
- Joined: Wed Mar 05, 2003 3:10 am
Re: Vensim Performance - Hardware
Processor speed is the main one. And a solid state hard drive helps when saving the results.goldflo wrote:What is the optimal hardware configuration to get the most out of Vensim in terms of speed?
Just one. Think about the calculation sequence logically, to calculate "A" you need "B" and "C". You could calculate "B" and "C" on separate cores, but you would need to continually check to see if "B" and "C" have been calculated before calculating "A". This is a far larger overhead than just calculating "B" and "C" in sequence.goldflo wrote:How many cores can be addressed by Vensim? Is there a chance to address more than one?
The following site explains things well, search the text for "To really take advantage of a multi-core system"
https://scalibq.wordpress.com/2012/06/0 ... threading/
There are a number of things.goldflo wrote:What can I do to make Vensim faster without changing the model?
1. Are you compiling your model? This can lead to a large improvement in run time.
2. Model optimization. This comes only with "experience". For example, if you are calculating a proportion, it's very common practice to do something like
proportion[range] = some value[range] / sum ( some value[range!] )
If "range" has 100 elements, this means you are doing 100 sums every time step. Over the course of a simulation, you could be doing thousands more calculations than you actually need. It's much more efficient to do
total of some value = sum ( some value[range!] )
proportion[range] = some value[range] / total of some value
This goes for VMAX, VMIN and SUM. Take the vector operation out of the equation and you drastically reduce the amount of calculations needed
Advice to posters seeking help (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Units are important!
http://www.bbc.co.uk/news/magazine-27509559
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Units are important!
http://www.bbc.co.uk/news/magazine-27509559
Re: Vensim Performance - Hardware
/*
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/
Advice to posters (it really helps us to help you)
http://www.ventanasystems.co.uk/forum/v ... f=2&t=4391
Blog: http://blog.metasd.com
Model library: http://models.metasd.com
Bookmarks: http://delicious.com/tomfid/SystemDynamics
*/