I need to write up changes I'm making for multi-threading, and I've been meaning to start a blog about CC work anyway for some time, so here's the teaser: http://c2cdev.blogspot.com ...
I cant even believe that this:
CvPathPlotInfoStore::getPlotInfo 101,159,496 CvPathGenerator::generatePath.Success
has that many passes?And this is each turn? I didnt have any idea.
Seems like it spends quite some seconds in the end turn event processing in Python. Probably warrants running the Python profiler there to see what it spends all that processing on.
Seems like it spends quite some seconds in the end turn event processing in Python. Probably warrants running the Python profiler there to see what it spends all that processing on.
Excellent design. If I did not know already that you are a great programmer I would know it now.
Would it not be a better idea to allow the DLL to detect how many logical cores your machine have and set the max number of threads based on that, instead of hardcoding it as a globaldefine? I know that after 4 you start to get seriously diminishing returns, but it would make sense to test and see if we could get some measurable improvement with 6 threads on an 8 core processor.