batched raycast with true batch callback or false callback or both?

So, I made a virtual bullet manager where players firing adds the projectile to a list and the bullet never actually exists, instead the system runs rays and advances a gector if the ray is not true, I can handle many many bullets now, but to further optimize it I think I would need some sort of raybatching callback?

good idea ? terrible?

here it is without the batching: