This question is asked every year. We specifically discussed it with the NRMP the year that SOAP came out, because SOAP extended the amount of time needed by the NRMP and the question was whether ROL's would be due earlier, or match day would be later.
Running the algorithm is ridic fast, seconds or less. As mentioned, it's a very straightforward process, and with "only" 30,000 participants it's relatively small as far as computer processing goes. What takes so much time is:
1. All of the data is moved from the web based system to their in house system. The match program isn't part of their web system.
2. All of the data is checked for errors. I assume the main "error" they are looking for is a missing rank list. Of the 30,000 people, some idiot will decide to change their rank list at 8:50PM on the due date. And their computer / internet will crash, and by the time they've fixed it, it will be 9:02. Although I can't say for certain, I expect the NRMP might allow those people to "recertify" their last list (no changes allowed). Same with programs -- if someone forgets to certify a list, they probably allow that. The key is the NRMP wants the match to work well, not torture people for screwing up the deadline.
3. They run the match. Seconds.
4. They might run the match several times to find the best result. Without couples, the match algorithm would result in the same answer every time, there would be one "best" result. With couples included, it's more complicated and it's possible that multiple solutions will be found. 99% (or more) of the result will be the same, but a few people might end up in different spots. You would think that it would be easy to pick the "best" solution, but it isn't. Let's say in a second solution one person ends up 5 spots higher, but 4 other people end up 1 spot lower. Or let's say that 5 people match higher on their list, but one person doesn't match at all. Are those "better" solutions?
5. They then double check the solution, by hand. They pull some number of applicants and check to see that it's impossible that they match any higher on their rank lists.
6. Once that's all done the results are final. Now they get ready for SOAP. Given some of the problems in the first year of SOAP, this is no easy task.
Bottom line, I'd rather they took 3 weeks and got it right. The urology match (in the early 2000's) was screwed up and it was a huge debacle. There's a real benefit to ensuring the results are accurate. Plus, it's nice to know, to the second, when you'll get your results -- no need to sit around and wait for a random message.