For a fairer comparison I should time how long it took to write to disk.
Downsides of proto buffers is just that it's slightly confusing to work with at first, but now we've got an established proto file it's easily replicated.
Doesnt need much cpu to serialize/deserialize, however I don't have the stats to back that up.
In terms of special software, just the protobuf3 software package - there should be alternative language implementations for interacting with the files in c++ for example.