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