With a large fact count and rules that perform accumulation, you might notice a significant performance problem after a few hundred thousand facts. One possible solution is to delay the firing of the rules that use accumulation until after all the other facts have been loaded. Simply insert a "Starting" fact before adding your facts and retract it when they have all been loaded. Then add a "not Starting()" condition in the LHS of your rules that perform accumulation. This reduced our startup time (using 4.0.7) from nearly an hour to under 5 minutes.