The only reason I can think of is it relies on the boost::xpressive regular expression parsing .hpp, and that slows down the build.
I did refactor most of this into a rpcmonitor.cpp file; rpc.cpp was getting huge, and was taking a ton of memory and time to compile.