I have the dictionary done so now I don't upload files that haven't changed. Now all I have to do is change my generation code so that it doesn't actually write to files that haven't changed.
I could do this by making sure that I track which data files have changed and figuring out which output files that means that I have to generate.
Or, I could just always generate every output file, but compare it to what is on disk before writing it. If it is exactly the same as what is already there, I can just throw away my in memory copy and not write anything.
Radio took the first approach, except it didn't get it completely right. If you added a new entry in Radio, it wouldn't update any of the archive pages. The problem is that you would always see links going further back on the calendar but never going forward, as it would never update one of the archive pages. With the second approach it may take a little longer to generate the site, but you'll be sure to update everything that needs to be updated.
I think that I'm going to go with the second approach. I can adapt and implement the first as needed (perhaps on a more granular level.