Emacs doesn't do so well on those files either, for reasons I don't quite understand. C-Home (M-<) from the end of the file took 3+ seconds on an 3.8GHz i7 machine, yet the command those keys are bound to - beginning-of-buffer - was instantaneous, as was M-g g 1 (go to line 1).
http://scienceblogs.com/goodmath/2009/02/18/gap-buffers-or-w...
You'd still rely on search to navigate, and whether it's in the same file or a different file is just an IDE / editor detail. If anything, fewer source code files meant you always knew which file to switch to to find any given function, which you could in turn find with an incremental search.
I open all the files in the project(s) I'm working on. I currently have thousands of files open in Emacs. My Org mode wiki alone contains more than 2,000 files that remain permanently open.