aplcachetf

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/APLCache.java b/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/APLCache.java
index ad9c541..ed137b7 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/APLCache.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/APLCache.java
@@ -78,6 +78,8 @@ public class APLCache {
     LOGGER.info(MessageFormat.format("Recommending TTL per method for {0} methods", this.methods.size()));
     removeSingleOccurrences();
     calculateMetrics();
+    this.methods.forEach(Method::removeNotRecommendedInputs);
+    this.methods.removeIf(method -> method.getEstimatedSavedTime() == 0);
     calculateThresholds(kStdDev);
     filterCacheableInputs(kStdDev);
 
diff --git a/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/metadata/Method.java b/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/metadata/Method.java
index 02333a1..5ea9abf 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/metadata/Method.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/aplcachetf/extension/metadata/Method.java
@@ -85,6 +85,14 @@ public class Method {
         if (removedOccurrences > 0) LOGGER.info(MessageFormat.format("\tRemoved {0} of {1} inputs from method {2}", removedOccurrences, initialCountOfOccurrences, this.name));
     }
 
+    public void removeNotRecommendedInputs() {
+        if (this.groupsOfOccurrences == null) throw new RuntimeException("Recommendations not called");
+        int initialCountOfOccurrences = this.groupsOfOccurrences.size();
+        this.groupsOfOccurrences.removeIf(it -> it.getMetrics().getPareto().getBestMetrics().getSavedTime() == 0);
+        int removedOccurrences = initialCountOfOccurrences - this.groupsOfOccurrences.size();
+        if (removedOccurrences > 0) LOGGER.info(MessageFormat.format("\tRemoved {0} of {1} inputs from method {2}", removedOccurrences, initialCountOfOccurrences, this.name));
+    }
+
     public void calculateMetrics() {
         if (this.groupsOfOccurrences == null) groupByInput();
         groupsOfOccurrences().forEach(GroupOfOccurrences::calculateMetrics);