diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle_core/AtomicBench.java @ 20:195c1a644550

benchmark add
author tatsuki
date Tue, 17 Mar 2015 15:37:19 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle_core/AtomicBench.java	Tue Mar 17 15:37:19 2015 +0900
@@ -0,0 +1,46 @@
+package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle_core;
+import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.lang.Integer;import java.lang.InterruptedException;import java.lang.Runtime;import java.lang.String;import java.lang.System;import java.util.concurrent.atomic.AtomicReference;
+
+/**
+ * Created by e115731 on 15/03/11.
+ */
+public class AtomicBench {
+    public static void main(String args[]) throws IOException {
+        Runtime rt = Runtime.getRuntime();
+        int cpuNum = rt.availableProcessors();
+        System.out.println("CPUCount = " + cpuNum);
+        File file = new File("strCount");
+        PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
+
+        AtomicReferenceTest ref = new AtomicReferenceTest(0);
+
+        for (int count = 1; count <= cpuNum; count++) {
+            readAtomicReservableReferenceThread th[] = new readAtomicReservableReferenceThread[count];
+            for (int tcount = 0; tcount < count; tcount++) {
+                th[tcount] = new readAtomicReservableReferenceThread(ref);
+                th[tcount].start();
+            }
+            try {
+                java.lang.Thread.sleep(2000);
+            } catch (InterruptedException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
+            long readCount = 0;
+
+            for (int tcount = 0; tcount < count; tcount++) {
+                th[tcount].set(false);
+                System.out.println(th[tcount].get());
+                readCount = readCount + th[tcount].get();
+            }
+
+            System.out.println("----------------------Thread Stop--------------------------------------------");
+
+            pw.println(count + " " + readCount);
+            System.out.println("ThreadTest count = " + count);
+            System.out.println("read count = " + (readCount));
+        }
+        pw.close();
+        System.out.println("-----------end--------------------------------------------------------");
+    }
+}