I implemented a way to write primitive Java types to a binary output file using DataOutputStream
's writeX methods, but I'm observing 60-fold slower performance relative to a previous implementation that writes to a text file via a BufferedWriter
.
I create my output stream like so:
DataOutputStream outFile = new DataOutputStream(new FileOutputStream("fileLoc"));
I use this method to write to such streams:
public static void writeFunctionPoint (DataOutputStream outFile, FunctFileSortCriterion functPt) throws IOException
{
outFile.writeLong (functPt.time);
outFile.writeBytes (functPt.dfid);
outFile.writeDouble (functPt.value);
outFile.writeInt (functPt.qualifier);
} // end method writeFunctionPoint
Why is my new approach so much slower than my old one?