I would be interested in knowing whether the same slow down is observed in 2.42.7a.
I did make a change between 2.42.7a and 2.42.7b in the management of the shots array size. It now starts out larger (5000) and grows in jumps of 5000. I did this because I was hitting some strange crashing bugs when lots and lots of shots get created in a single cycle - more then that previously handled by a single increase in the array size - like when a whole bunch of bots die and their poffs get displayed. VB was doing something strange that I still don;t understand where the shots array was getting locked. My thinking is that it will be very rare that more than 5000 shots get created in a single cycle.
The perf impact of this change should be quite minimal, primarily only impacting smaller sims with few or no shots (they will be uncessarily loopoing through a larger shots array). The impact on larger sims with a "typical" number of shots should be essentially nil - unless I screwed it up of course.
So, the main questions that could help me:
Do you see the slowdown in 2.42.7a?
Does the sim have any shots? If so, how many typically?
If you turn off poffs, does it change things?
Posting the sim would also be very helpful.
There are some things that have a surprising and unexpected perf impact beyond just total number of shots, bots, ties, shapes, etc.. For example, the exact same sim with the exact same number of bots and shots will run considerably slower if all the bots are close together on the field then if they are spread out. This is becuase the collision detection routines have to do more work if the bots (or bots and shots) are close enough that a collision is possible that cycle. If they are far apart, a very fast and simple distance test can rule out a collision. If they are close, the code has to do a lot more math. (Thus, if you want null evo sims to run faster, use a big field and turn off planet eaters!)