For those of you who want to get into lower level programming and high speed applications, c++ is a magnitude faster than Python. Especially when it comes to parsing NMEA strings. At 1hz 9600 baud the performance gain isn't noticeable, but going up to 115200 baud with updates 2-3 time per second I think python will start lagging.
I have written a C++ library by porting the TinyGPS++ from arduino over to the Pi. I used PThreads so that the library is multithreaded and will take advantage of all those cores the Pi 2 has.
Please have a look at my blog and I am glad to help with tech support. I am using the library for my quadcop_project in the sci fi your pi contest. Basically create a GPS object, start it, and off it goes. It reads directly from the Serial port, not GPSD. it is currently In the beta stage and some parameters have to be changed in the code such as baud rate, but when finished this will be easily changeable.
Microstack GPS - A Multi-threaded approach for GPS users.
Also check out bobalexander's post here for setting up the Micrstack and changing the settings.