public static void main(String[] args) throws IOException { WordCounter wordCounter = new WordCounter(); Folder folder = Folder.fromDirectory(new File(args[0])); final int repeatCount = Integer.decode(args[2]); long counts; long startTime; long stopTime; long[] singleThreadTimes = new long[repeatCount]; long[] forkedThreadTimes = new long[repeatCount]; for (int i = 0; i < repeatCount; i++) { startTime = System.currentTimeMillis(); counts = wordCounter.countOccurrencesOnSingleThread(folder, args[1]); stopTime = System.currentTimeMillis(); singleThreadTimes[i] = (stopTime - startTime); System.out.println(counts + " , single thread search took " + singleThreadTimes[i] + "ms"); } for (int i = 0; i < repeatCount; i++) { startTime = System.currentTimeMillis(); counts = wordCounter.countOccurrencesInParallel(folder, args[1]); stopTime = System.currentTimeMillis(); forkedThreadTimes[i] = (stopTime - startTime); System.out.println(counts + " , fork / join search took " + forkedThreadTimes[i] + "ms"); } System.out.println("\nCSV Output:\n"); System.out.println("Single thread,Fork/Join"); for (int i = 0; i < repeatCount; i++) { System.out.println(singleThreadTimes[i] + "," + forkedThreadTimes[i]); } System.out.println(); }
static Folder fromDirectory(File dir) throws IOException { List<Document> documents = new LinkedList<>(); List<Folder> subFolders = new LinkedList<>(); for (File entry : dir.listFiles()) { if (entry.isDirectory()) { subFolders.add(Folder.fromDirectory(entry)); } else { documents.add(Document.fromFile(entry)); } } return new Folder(subFolders, documents); }
public static void main(String[] args) throws Exception { SamplesInRegionAverage samplesInRegionAverage = new SamplesInRegionAverage(); Folder folder = Folder.fromDirectory(new File(args[0])); List<GeoPointCarbon> listOfPoints = new ArrayList<>(); long startTime; long stopTime; long totalTime; // double average = 0; // NSA Barrow ARM Tower coordinates: 71.323258, -156.615750 Region region1 = new Region(71.4f, 69.0f, -162.0f, -152.0f); // K34 Tower coordinates: -2.609097222, -60.20929722 Region region2 = new Region(-1.6f, -3.6f, -61.5f, -59.0f); // Old Region region3 = new Region(36.5f, 34.5f, -99.5f, -96.5f); // Oklahoma City Tower coordinates: 36.6070, -97.4890 Region region3 = new Region(37.6f, 35.6f, -99.0f, -96.0f); startTime = System.currentTimeMillis(); listOfPoints = samplesInRegionAverage.countOccurrencesInParallel(folder, region1); stopTime = System.currentTimeMillis(); totalTime = (stopTime - startTime); System.out.println("Fork / join process took " + totalTime + "ms"); try (Writer writer = new BufferedWriter( new OutputStreamWriter(new FileOutputStream("Sep2014July2015Region1.txt")))) { for (GeoPointCarbon aPoint : listOfPoints) { writer.write( aPoint.getLatitude() + "\t" + aPoint.getLongitude() + "\t" + aPoint.getXco2() + "\t" + aPoint.getDate() + "\n"); // average += aPoint.getXco2(); } // writer.write(region1.regionCenter().getLatitude() + "\t" + // region1.regionCenter().getLongitude() + "\t" + average/listOfPoints.size() +"\n"); } catch (IOException ex) { ex.printStackTrace(); } // startTime = System.currentTimeMillis(); // listOfPoints = samplesInRegionAverage.countOccurrencesInParallel(folder, region1); // stopTime = System.currentTimeMillis(); // totalTime = (stopTime - startTime); // System.out.println("Fork / join process took " + totalTime + "ms"); // // try (Writer writer = new BufferedWriter(new OutputStreamWriter(new // FileOutputStream("AveragesJulyRegion1.txt")))) { // for (GeoPointCarbon aPoint: listOfPoints) { // writer.write(aPoint.getLatitude() + "\t" + aPoint.getLongitude() + "\t" + aPoint.getXco2() // + "\t" + aPoint.getDate() +"\n"); // //average += aPoint.getXco2(); // } // //writer.write(region1.regionCenter().getLatitude() + "\t" + // region1.regionCenter().getLongitude() + "\t" + average/listOfPoints.size() +"\n"); // } catch (IOException ex) { // ex.printStackTrace(); // } // // startTime = System.currentTimeMillis(); // listOfPoints.clear(); // listOfPoints = samplesInRegionAverage.countOccurrencesInParallel(folder, region2); // stopTime = System.currentTimeMillis(); // totalTime = (stopTime - startTime); // System.out.println("Fork / join process took " + totalTime + "ms"); // // try (Writer writer = new BufferedWriter(new OutputStreamWriter(new // FileOutputStream("AveragesJulyRegion2.txt")))) { // for (GeoPointCarbon aPoint: listOfPoints) { // writer.write(aPoint.getLatitude() + "\t" + aPoint.getLongitude() + "\t" + aPoint.getXco2() // + "\t" + aPoint.getDate() +"\n"); // //average += aPoint.getXco2(); // } // //writer.write(region1.regionCenter().getLatitude() + "\t" + // region1.regionCenter().getLongitude() + "\t" + average/listOfPoints.size() +"\n"); // } catch (IOException ex) { // ex.printStackTrace(); // } // // startTime = System.currentTimeMillis(); // listOfPoints.clear(); // listOfPoints = samplesInRegionAverage.countOccurrencesInParallel(folder, region3); // stopTime = System.currentTimeMillis(); // totalTime = (stopTime - startTime); // System.out.println("Fork / join process took " + totalTime + "ms"); // // try (Writer writer = new BufferedWriter(new OutputStreamWriter(new // FileOutputStream("AveragesJulyRegion3.txt")))) { // for (GeoPointCarbon aPoint: listOfPoints) { // writer.write(aPoint.getLatitude() + "\t" + aPoint.getLongitude() + "\t" + aPoint.getXco2() // + "\t" + aPoint.getDate() +"\n"); // //average += aPoint.getXco2(); // } // //writer.write(region1.regionCenter().getLatitude() + "\t" + // region1.regionCenter().getLongitude() + "\t" + average/listOfPoints.size() +"\n"); // } catch (IOException ex) { // ex.printStackTrace(); // } }