add "repeat" to Java toy decoder

PiperOrigin-RevId: 551770992
This commit is contained in:
Evgenii Kliuchnikov 2023-07-28 01:06:17 -07:00 committed by Copybara-Service
parent 4fc753e707
commit 0300be36ba

View File

@ -24,21 +24,15 @@ public class Decoder {
return totalOut; return totalOut;
} }
public static void main(String... args) throws IOException { private static void decompress(String fromPath, String toPath, byte[] buffer) throws IOException {
if (args.length != 2) {
System.out.println("Usage: decoder <compressed_in> <decompressed_out>");
return;
}
byte[] buffer = new byte[1024 * 1024];
long start; long start;
long bytesDecoded; long bytesDecoded;
long end; long end;
InputStream in = null; InputStream in = null;
OutputStream out = null; OutputStream out = null;
try { try {
in = new FileInputStream(args[0]); in = new FileInputStream(fromPath);
out = new FileOutputStream(args[1]); out = new FileOutputStream(toPath);
start = System.nanoTime(); start = System.nanoTime();
bytesDecoded = decodeBytes(in, out, buffer); bytesDecoded = decodeBytes(in, out, buffer);
end = System.nanoTime(); end = System.nanoTime();
@ -58,4 +52,21 @@ public class Decoder {
double mbDecoded = bytesDecoded / (1024.0 * 1024.0); double mbDecoded = bytesDecoded / (1024.0 * 1024.0);
System.out.println(mbDecoded / timeDelta + " MiB/s"); System.out.println(mbDecoded / timeDelta + " MiB/s");
} }
public static void main(String... args) throws IOException {
if (args.length != 2 && args.length != 3) {
System.out.println("Usage: decoder <compressed_in> <decompressed_out> [repeat]");
return;
}
int repeat = 1;
if (args.length == 3) {
repeat = Integer.parseInt(args[2]);
}
byte[] buffer = new byte[1024 * 1024];
for (int i = 0; i < repeat; ++i) {
decompress(args[0], args[1], buffer);
}
}
} }