From 848450cf4f448a94b8113d37c3c55e5f37a07e82 Mon Sep 17 00:00:00 2001 From: Radek Oslejsek <oslejsek@fi.muni.cz> Date: Tue, 27 Apr 2021 19:54:42 +0200 Subject: [PATCH] Buffered read/write --- .../src/main/java/cz/fidentis/analyst/face/HumanFace.java | 7 +++++-- .../java/cz/fidentis/analyst/tests/EfficiencyTests.java | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Comparison/src/main/java/cz/fidentis/analyst/face/HumanFace.java b/Comparison/src/main/java/cz/fidentis/analyst/face/HumanFace.java index 8e30f664..b5bad837 100644 --- a/Comparison/src/main/java/cz/fidentis/analyst/face/HumanFace.java +++ b/Comparison/src/main/java/cz/fidentis/analyst/face/HumanFace.java @@ -7,6 +7,8 @@ import cz.fidentis.analyst.mesh.events.MeshEvent; import cz.fidentis.analyst.mesh.events.MeshListener; import cz.fidentis.analyst.mesh.io.MeshObjLoader; import cz.fidentis.analyst.symmetry.Plane; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; @@ -154,8 +156,9 @@ public class HumanFace implements MeshListener, Serializable { public File dumpToFile() throws IOException { File tempFile = File.createTempFile(this.getClass().getSimpleName(), ".ser"); tempFile.deleteOnExit(); - try (ObjectOutputStream fos = new ObjectOutputStream(new FileOutputStream(tempFile))) { + try (ObjectOutputStream fos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(tempFile)))) { fos.writeObject(this); + fos.flush(); } return tempFile; } @@ -169,7 +172,7 @@ public class HumanFace implements MeshListener, Serializable { * @throws java.lang.ClassNotFoundException on error when instantiating the human face */ public static HumanFace restoreFromFile(File dumpFile) throws IOException, ClassNotFoundException { - try (ObjectInputStream fos = new ObjectInputStream(new FileInputStream(dumpFile))) { + try (ObjectInputStream fos = new ObjectInputStream(new BufferedInputStream(new FileInputStream(dumpFile)))) { return (HumanFace) fos.readObject(); } } diff --git a/GUI/src/main/java/cz/fidentis/analyst/tests/EfficiencyTests.java b/GUI/src/main/java/cz/fidentis/analyst/tests/EfficiencyTests.java index 1d373075..4164dd14 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/tests/EfficiencyTests.java +++ b/GUI/src/main/java/cz/fidentis/analyst/tests/EfficiencyTests.java @@ -45,11 +45,13 @@ public class EfficiencyTests { face1.getMeshModel().simplifyModel(); face2.getMeshModel().simplifyModel(); + /* for (int i = 0; i < 10; i++) { HumanFace face = HumanFacePrivilegedCache.instance().loadFace(faceFile4); face.getMeshModel().simplifyModel(); System.out.println(i+".\t" + HumanFacePrivilegedCache.instance()); } + */ boolean relativeDist = false; boolean printDetails = false; -- GitLab