1 24 25 package org.objectweb.cjdbc.scenario.standalone.jvm; 26 27 import org.objectweb.cjdbc.scenario.templates.NoTemplate; 28 29 35 public class SpeedTest extends NoTemplate 36 { 37 38 private static boolean isPrime(long i) 39 { 40 for (long test = 2; test < i; test++) 41 { 42 if (i % test == 0) 43 { 44 return false; 45 } 46 } 47 return true; 48 } 49 50 53 public void testJVMSpeed() 54 { 55 long start_time = System.currentTimeMillis(); 56 57 long n_loops = 50000; 58 long n_primes = 0; 59 60 for (long i = 0; i < n_loops; i++) 61 { 62 if (isPrime(i)) 63 { 64 n_primes++; 65 } 66 } 67 68 long end_time = System.currentTimeMillis(); 69 70 System.out.println(n_primes + " primes found"); 71 System.out.println("Time taken = " + (end_time - start_time)); 72 } 73 74 public void testJVMThread() 75 { 76 int count = 0; 77 try 78 { 79 while (true) 80 { 81 new WaitThread().start(); 82 count++; 83 } 84 } 85 catch (RuntimeException re) 86 { 87 re.printStackTrace(); 88 System.out.println("Spawned " + count + " threads before failing"); 89 } 90 catch (Error e) 91 { 92 e.printStackTrace(); 93 System.out.println("Spawned " + count + " threads before failing"); 94 } 95 } 96 97 class WaitThread extends Thread 98 { 99 public void run() 100 { 101 synchronized (this) 102 { 103 try 104 { 105 this.wait(); 106 } 107 catch (InterruptedException e) 108 { 109 e.printStackTrace(); 111 } 112 } 113 } 114 } 115 } | Popular Tags |