Changeset: cf81dba6a067 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cf81dba6a067 Modified Files: java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java Branch: embedded-java Log Message:
Read as much as possible (at a time without blocking), speeding up the bootstrapping I previously removed this, misunderstanding what InputStream.avaialble() does... it's fine. Plus we close the InputStream object soon after that, hoping the GC collect it as well. diffs (17 lines): diff --git a/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java b/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java --- a/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java +++ b/java/embedded/src/main/java/org/monetdb/embedded/MonetDBEmbedded.java @@ -73,10 +73,11 @@ public class MonetDBEmbedded implements final Path tempLibsDir = Files.createTempDirectory("monetdb-embedded-libs"); File fileOut = new File(tempLibsDir.toString() + File.separatorChar + fileName); try (OutputStream out = new FileOutputStream(fileOut)) { - int buffer; - while ((buffer = in.read()) != -1) { + byte[] buffer = new byte[in.available()]; + while (in.read(buffer) != -1) { out.write(buffer); } + out.flush(); in.close(); // Load the lib from the extracted file System.load(fileOut.toString()); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list