Skip to content
Snippets Groups Projects
Unverified Commit 5fd186ef authored by BARBIER Marc's avatar BARBIER Marc
Browse files

Performance improvement for the PatternFiltering

parent b26460b9
Branches
No related tags found
No related merge requests found
...@@ -7,6 +7,7 @@ import java.util.Arrays; ...@@ -7,6 +7,7 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.ListIterator; import java.util.ListIterator;
import java.util.Map; import java.util.Map;
...@@ -113,7 +114,6 @@ public class PatternUtils { ...@@ -113,7 +114,6 @@ public class PatternUtils {
// new id map IT DOESN'T COVER ALL OF THE IDS ON UP TO THE POINT WHERE THE PATTERNS ARE REMOVED // new id map IT DOESN'T COVER ALL OF THE IDS ON UP TO THE POINT WHERE THE PATTERNS ARE REMOVED
Map<Integer, Integer> newIdMap = new HashMap<>(); Map<Integer, Integer> newIdMap = new HashMap<>();
Collections.sort(toRemove); Collections.sort(toRemove);
int min = 1; int min = 1;
int offset = 0; int offset = 0;
for(Integer idToRemove : toRemove) { for(Integer idToRemove : toRemove) {
...@@ -134,7 +134,10 @@ public class PatternUtils { ...@@ -134,7 +134,10 @@ public class PatternUtils {
File patternOccFile = new File(Settings.FILE_FOLDER + patternSet.getFilenameOccurrences()); File patternOccFile = new File(Settings.FILE_FOLDER + patternSet.getFilenameOccurrences());
Table patterOcc = CSVUtils.loadCSV(patternOccFile); Table patterOcc = CSVUtils.loadCSV(patternOccFile);
Iterator<List<String>> occurrencesIterator = patterOcc.getRowsStartingFrom1().iterator();
//linked lists have way better removing performance than arrays
final List<List<String>> occRows = new LinkedList<>(patterOcc.getRowsStartingFrom1());
Iterator<List<String>> occurrencesIterator = occRows.iterator();
while(occurrencesIterator.hasNext()) { while(occurrencesIterator.hasNext()) {
List<String> row = occurrencesIterator.next(); List<String> row = occurrencesIterator.next();
final int patternId = Integer.parseInt(row.get(1)); final int patternId = Integer.parseInt(row.get(1));
...@@ -150,8 +153,7 @@ public class PatternUtils { ...@@ -150,8 +153,7 @@ public class PatternUtils {
} }
} }
} }
patterOcc.setRows(occRows);
System.out.println(patternOccFile.getAbsolutePath() + "\n" + patternFile.getAbsolutePath());
CSVUtils.saveTable(patternTable, patternFile); CSVUtils.saveTable(patternTable, patternFile);
CSVUtils.saveTable(patterOcc, patternOccFile); CSVUtils.saveTable(patterOcc, patternOccFile);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment