Пример #1
0
  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();
  }
Пример #2
0
 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();
    //		}

  }