Hey Myth. Standard serialization is slow because it is created to adapt. It will save and load any class you throw at it. However the logic for this adaptive system takes its toll.
For performance you should consider making specific saving system for your state of the world. It will require more work, but the result will speak for itself. For example when I load my little saves of 50mb plus it takes 1-2 seconds, with binary formatter I got tired of waiting after 3mins. I use bit encoding and decoding for that.
For practise and to understand how people use it try writing some image decoding and encoding without worrying about compression. Avoid png and gif formats, because they use lossless compression which is not that easy to understand.
Other option is to go with simple text file and saving variable names and their values as if you would define them. It is not as fast, but still much more faster than standard way.