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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list