Last night I backported an optimization from modern Doom ports into Doom II 1.0.2 using the source release. The optimization is the use of a hashtable instead of a slow linear search for W_GetNumForName (used for lump lookups, i.e. finding assets within the WAD), and porting it over to this codebase was pretty quick and straightforward with only some self-inflicted bumps along the way.
There's not (currently) an FPS counter that can be enabled in this port, but the difference in performance was palpable testing the new compile on my 040 Mac II. It's still choppy in big open areas like when you come down the first lift in Doom II MAP29, but it's substantially less choppy than the retail 1.0.3 build I had to compare with.
Another thing of interest:
The 68k ASM routines for DrawSpan and DrawColumn (in the file Draw68K.asm) seem to have been used as-is from an email John Carmack sent the devs, in which he mentioned that he didn't spend much time on it, he doesn't really consider himself a 68k programmer, and that it "could certainly be improved". This is way out of my depth to even attempt to do anything with, but it would be interesting to see how much more optimization is possible, either via hand-rolled asm by an expert, or via seeing if a more modern compiler can generate faster asm from the equivalent C functions.
I've attached an archive with the modified W_WAD.C and the compiled 68k application with hashtable optimization, for anyone who wants to play around with it.