package org.dcm4chee.storage.test.unit.filesystem; import org.junit.Ignore; import org.junit.Test; import java.io.IOException; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; @Ignore public class NIOPerfTest { @Test public void test() throws IOException { OutputStream outputStream = Files.newOutputStream(Paths.get("target/file1.txt"), StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE); writeLittleChunks(outputStream); } @Test public void testBulk() throws IOException { OutputStream outputStream = Files.newOutputStream(Paths.get("target/file1.txt"), StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE); writeBigChunks(outputStream); } @Test public void testAsync() throws IOException { OutputStream outputStream = Files.newOutputStream(Paths.get("target/file1.txt"), StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE); // outputStream = new BufferedOutputStream(outputStream, 65536); writeLittleChunks(outputStream); } private void writeLittleChunks(OutputStream outputStream) throws IOException { byte[] bytes = new byte[128]; for (byte i=0;i>=0;i++) bytes[i] = i; for (int i =0;i<4194304;i++) outputStream.write(bytes); } private void writeBigChunks(OutputStream outputStream) throws IOException { byte[] bytes = new byte[65536]; for (int i=0;i<65536;i++) bytes[i] = (byte) i ; for (int i =0;i<8192;i++) outputStream.write(bytes); } }