Increase perfomance for Gillespie Algorithm

I am analyzing adaptive dynamics models as described in Stochastic models for adaptive dynamics: Scaling limits and diversity. There usually the trait space is of infinitely large (e.g. [-1,1] as in the DieckmannDoeblin example) or very very big (e.g. {0,1,2}^N with N >> 100 as in the DiploidModel example). And even though only a finite number of traits is alive at any time I am interested in high mutation rate regimes. There the number of different individuals alive at any time is very high.

I only came across implementations of Gillespies algorithm where there are a finite number of traits and one knows the transition rates from one trait to the other in advance (e.g. the SIR-model).

Typically I have a lot of rates to sum up to get the total rate. But unfortunately I also have to update every single rate after every single event due to the competition pressure: In the models I study individuals or die due to natural or competitive death. Every individual exceeds a small competitive pressure on every other individual. Hence if any individual exits or enters the population the death rate of every individual has to be adapted accordingly.