Sorry, I don't have the resources to send a diff from here.
When slime starts an inferior lisp process, it should probably check to make sure swank isn't already loaded (by an init file, or being in the default lisp image) before it calls load. This can take lots of extra time on a slow machine. So here's what I have it send the lisp process in slime-maybe-start-lisp:
"(when (null (find-package :swank)) (load %S))\n"
Chris Capel