I don't have experience doing a native Linux install on the Surface Book, but I use(d) VirtualBox and use Linux every day for development (on Surface Book and Mac). With virtualization technology being as advanced as it is, I don't think there is any appreciable performance difference to a native install assuming you have enough RAM for the extra OS.
Virtualization technology is advanced but not perfect. Some of my own programs are 2 or 3 times slower doing CPU stuff under virtualization than under the raw machine.
Depends what you're doing, honestly. Some software won't tolerate running off a network mount at all for various reasons, if so you're sunk.
Some is just slow because it's inefficient. It's been a while since I had to resort to this, but accessing a big svn checkout over cifs is so slow as to be useless.