I didn't do a rigorous comparison but changing Int->Byte in both SimpleRead and BaseRead did seem to speed things up (and was one of Mattei's suggestions). As long as all the downstream usage is also a Byte then it shouldn't ever get cast back (and even if it did you're still cutting down on the size of RDDs).