The International Simutrans Forum

Simutrans Extended => Simutrans-Extended development => Topic started by: jamespetts on June 18, 2013, 09:59:52 AM

Title: Profiling (Linux server)
Post by: jamespetts on June 18, 2013, 09:59:52 AM
I did some profiling yesterday on the Linux server version: the results are here (http://www.bridgewater-brunel.me.uk/downloads/output). These results suggest that, following recent changes (most significantly, the various changes to walking and Bernd's work a few months ago at making the physics code more efficient), the largest consumer of CPU time is now the routing system for goods/passengers. This seems to be substantially more computationally intensive than when Knightly wrote it in the first place - I think as a result of additional computations needed for each journey due to the need to calculate the walking to/from destinations for each journey (both passengers and freight).
Title: Re: Profiling (Linux server)
Post by: neroden on June 18, 2013, 08:19:33 PM
This is completely unsurprising: the routing system *should* be the largest consumer of CPU code in a well-functioning transport sim.  And it has a gigantic job to do upon loading.

The profile isn't as useful as it could be because the time is dominated by :load().  But I guess you can't run a longer profile until we solve that crash bug...
Title: Re: Profiling (Linux server)
Post by: jamespetts on June 18, 2013, 11:44:09 PM
This is true...