Speed Demons
By Lisa
01 September 2015

In my previous post, I unveiled the size of our “performance problem” for Fast-Trips and discussed various ways that we had and were planning on attacking it. I had already made some speed ups by using the multi-processing for pathfinding (while making sure the random number seeds that were used were unaffected), but the big question mark was if a c++ extension would make a big-enough dent into our run time to be tolerable enough to run in at least a “development mode”.

I spent the past two weeks creating, testing, and documenting the c++ extension and am happy to say that when combined with the multi-processing across 64 cores (reasonable for our case), the projected runtime will be four hours (as opposed to four weeks/months). The c extension alone represented a 40x processing speedup.

Phew!

Next up:

  • explore allowing non-additive costs in path search
  • improve usability and parameterizing the c-extension
  • input/output reading and writing for new Fast-Trips data standards
  • allow modal biases / selectivity