Does the model change often? If not, you could go the route of the comparison calculations once and store that in memory - from that respect you might be able to reduce the memory usage.

Second...