There's a scene with a couple of terrains and objects all using btBvhTriangleMeshShape as their shape. All terrains have the CF_KINEMATIC_OBJECT flag ( since giving them CF_STATIC_OBJECT as it should be causes asserts all the time ). All other objects are mostly CF_KINEMATIC_OBJECT and a few dynamic. Therefore the collision world consists of mainly static ( kinematic flag ) triangle meshes and a few dynamic ones.
For narrowing down the problem I've set everything to static ( kinematic due to asserts ). btDynamicsWorld::stepSimulation( 0.01, 1 ) eats for this simple configuration with nothing moving ( all disabled! ) and less than 200 triangle meshes incredible 17ms time. This would be not much of a problem if this would be many objects moving but this is a setup with everything disabled and nothing moves.
What's going on? Bullet allergic against objects with kinematic flags? Did a new triangle class emerge that I didn't notice ( btw, documentation is hell out of date... grep-ing through .h files is not so fun

I would like to get some headsup on this problem before I start messing around replacing internal classes with modified ones. No sense trying to optimize something if it can't be optimized ( although in this particular case it would surprise me ).
EDIT: Forgot to add something. All static ( kinematic due to asserts ) terrains and objects are triangle meshes but all dynamic objects are boxes.