It's with some trepidation that I write this as I only program at a shallow level writing customised Excel functions in Visual Basic, however for the possible benefit of tyro programmers if no-one else:
I suspect that many solvers repeatedly run the same algorithms on the same data for unchanged parts of the grid. However memory is cheap nowadays while execution time remains important, and it's relatively simple to save the outcome of each algorithm in a result table along with a check value (a checksum or some intermediate result) for the input range that applied at the time. For example if we maintain a checksum of the candidates in each house, we would only have to recheck for locked sets in a house if the saved checksum doesn't match the current one.
Generally the concept isn't as trivial as that example would suggest though, and some consideration needs to be given as to which check values would pay for their keep.