Package org.apache.sysds.runtime.util
Class FastBufferedDataOutputStream
- java.lang.Object
- 
- java.io.OutputStream
- 
- java.io.FilterOutputStream
- 
- org.apache.sysds.runtime.util.FastBufferedDataOutputStream
 
 
 
- 
- All Implemented Interfaces:
- Closeable,- DataOutput,- Flushable,- AutoCloseable,- MatrixBlockDataOutput
 
 public class FastBufferedDataOutputStream extends FilterOutputStream implements DataOutput, MatrixBlockDataOutput This buffered output stream is essentially a merged version of BufferedOutputStream and DataOutputStream, wrt SystemDS requirements. Micro-benchmarks showed a 25% performance improvement for local write binary block due to the following advantages: - 1) unsynchronized buffered output stream (not required in SystemDS since single writer) - 2) single output buffer (avoid two-level buffers of individual streams) - 3) specific support for writing double arrays in a blockwise fashion
- 
- 
Constructor SummaryConstructors Constructor Description FastBufferedDataOutputStream(OutputStream out)FastBufferedDataOutputStream(OutputStream out, int size)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()voidwrite(byte[] b, int off, int len)voidwrite(int b)voidwriteBoolean(boolean v)voidwriteByte(int v)voidwriteBytes(String s)voidwriteChar(int v)voidwriteChars(String s)voidwriteDouble(double v)voidwriteDoubleArray(int len, double[] varr)Writes the double array of a dense block to the data output.voidwriteFloat(float v)voidwriteInt(int v)voidwriteLong(long v)voidwriteShort(int v)voidwriteSparseRows(int rlen, SparseBlock rows)Writes the sparse rows array of a sparse block to the data output.voidwriteUTF(String s)- 
Methods inherited from class java.io.FilterOutputStreamwrite
 - 
Methods inherited from class java.io.OutputStreamnullOutputStream
 - 
Methods inherited from class java.lang.Objectequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface java.io.DataOutputwrite
 
- 
 
- 
- 
- 
Constructor Detail- 
FastBufferedDataOutputStreampublic FastBufferedDataOutputStream(OutputStream out) 
 - 
FastBufferedDataOutputStreampublic FastBufferedDataOutputStream(OutputStream out, int size) 
 
- 
 - 
Method Detail- 
writepublic void write(int b) throws IOException- Specified by:
- writein interface- DataOutput
- Overrides:
- writein class- FilterOutputStream
- Throws:
- IOException
 
 - 
writepublic void write(byte[] b, int off, int len) throws IOException- Specified by:
- writein interface- DataOutput
- Overrides:
- writein class- FilterOutputStream
- Throws:
- IOException
 
 - 
flushpublic void flush() throws IOException- Specified by:
- flushin interface- Flushable
- Overrides:
- flushin class- FilterOutputStream
- Throws:
- IOException
 
 - 
closepublic void close() throws IOException- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Overrides:
- closein class- FilterOutputStream
- Throws:
- IOException
 
 - 
writeBooleanpublic void writeBoolean(boolean v) throws IOException- Specified by:
- writeBooleanin interface- DataOutput
- Throws:
- IOException
 
 - 
writeIntpublic void writeInt(int v) throws IOException- Specified by:
- writeIntin interface- DataOutput
- Throws:
- IOException
 
 - 
writeLongpublic void writeLong(long v) throws IOException- Specified by:
- writeLongin interface- DataOutput
- Throws:
- IOException
 
 - 
writeDoublepublic void writeDouble(double v) throws IOException- Specified by:
- writeDoublein interface- DataOutput
- Throws:
- IOException
 
 - 
writeBytepublic void writeByte(int v) throws IOException- Specified by:
- writeBytein interface- DataOutput
- Throws:
- IOException
 
 - 
writeShortpublic void writeShort(int v) throws IOException- Specified by:
- writeShortin interface- DataOutput
- Throws:
- IOException
 
 - 
writeBytespublic void writeBytes(String s) throws IOException - Specified by:
- writeBytesin interface- DataOutput
- Throws:
- IOException
 
 - 
writeCharpublic void writeChar(int v) throws IOException- Specified by:
- writeCharin interface- DataOutput
- Throws:
- IOException
 
 - 
writeCharspublic void writeChars(String s) throws IOException - Specified by:
- writeCharsin interface- DataOutput
- Throws:
- IOException
 
 - 
writeFloatpublic void writeFloat(float v) throws IOException- Specified by:
- writeFloatin interface- DataOutput
- Throws:
- IOException
 
 - 
writeUTFpublic void writeUTF(String s) throws IOException - Specified by:
- writeUTFin interface- DataOutput
- Throws:
- IOException
 
 - 
writeDoubleArraypublic void writeDoubleArray(int len, double[] varr) throws IOExceptionDescription copied from interface:MatrixBlockDataOutputWrites the double array of a dense block to the data output.- Specified by:
- writeDoubleArrayin interface- MatrixBlockDataOutput
- Parameters:
- len- ?
- varr- ?
- Throws:
- IOException- if IOException occurs
 
 - 
writeSparseRowspublic void writeSparseRows(int rlen, SparseBlock rows) throws IOExceptionDescription copied from interface:MatrixBlockDataOutputWrites the sparse rows array of a sparse block to the data output.- Specified by:
- writeSparseRowsin interface- MatrixBlockDataOutput
- Parameters:
- rlen- ?
- rows- sparse block
- Throws:
- IOException- if IOException occurs
 
 
- 
 
-