1.
public class Main {
public static void main(String[] args) {
for(int i=0; i<100; i++)
foo();
}
private static void foo() {
for(int i=0; i<100; i++)
bar();
}
private static void bar() {
}
}
2.
import java.lang.*;
class compile {
synchronized public int inc() {
// public int inc() {
return 1;
}
public static void main (String args[]) {
int sum = 0;
compile test =new compile();
long startTime = System.currentTimeMillis();
for(int i = 0; i <= 100; i++) {
for(int j = 0; j < 10; j++) {
sum += test.inc();
sum += test.inc();
sum += test.inc();
sum += test.inc();
sum += test.inc();
}
}
long endTime = System.currentTimeMillis();
System.err.println("sum = "+sum+" time: "+ (endTime - startTime));
}
}
3.
class compute{
public final double execute(double omega, double G[][], int
num_iterations) {
int M = G.length;
int N = G[0].length;
double omega_over_four = omega * 0.25;
double one_minus_omega = 1.0 - omega;
double [] Gi = null;
double Gi_Sum = 0.0;
// update interior points
//
int Mm1 = M-1;
int Nm1 = N-1;
for (int p=0; p<num_iterations; p++) {
for (int i=1; i<Mm1; i++) {
Gi = G[i];
double[] Gim1 = G[i-1];
double[] Gip1 = G[i+1];
for (int j=1; j<Nm1; j++)
Gi[j] = omega_over_four * (Gim1[j] + Gip1[j] + Gi[j-1]
+ Gi[j+1]) + one_minus_omega * Gi[j];
}
}
for(int k=0;k<Gi.length;k++)Gi_Sum += Gi[k];
return Gi_Sum;
}
public static void main(String args[]) {
compute test = new compute();
double[][] G = new double[200][200];
for(int i = 0; i < 200; i++) {
for(int j = 0; j < 200; j++) {
G[i][j] = 1.0 + i + j;
}
}
long startTime = System.currentTimeMillis();
test.execute(2.0, G, 10000);
long endTime = System.currentTimeMillis();
System.err.println("time: "+ (endTime - startTime));
}
}
4.
class hello {
public static void matmult(int x[][], int y[][], int z[][], int repeat) {
int m = x.length;
int k = x[0].length;
int n = y[0].length;
for(int w = 0; w < repeat; w++) {
for (int r = 0; r < m; r++) {
for (int s = 0; s < n; s++) {
z[r][s] = 0;
for (int t = 0; t < k; t++) {
z[r][s] += x[r][t] * y[t][s];
}
}
}
}
}
public static void main (String args[]) {
int[][] x = {{3,3,3,3,3},{3,3,3,3,3},{3,3,3,3,3},{3,3,3,3,3},{3,3,3,3,3}};
int[][] y = {{3,3,3,3,3},{3,3,3,3,3},{3,3,3,3,3},{3,3,3,3,3},{3,3,3,3,3}};
int[][] z = {{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};
long startTime = System.currentTimeMillis();
hello.matmult(x, y, z, 900000);
long endTime = System.currentTimeMillis();
System.err.println("time: "+ (endTime - startTime));
}
}
5.
class matrix {
public static void matmult( int y[], int val[], int row[], int col[], int x[], int NUM_ITERATIONS) {
int M = row.length - 1;
for (int reps=0; reps<NUM_ITERATIONS; reps++) {
for (int r=0; r<M; r++) {
int sum = 0;
int rowR = row[r];
int rowRp1 = row[r+1];
for (int i=rowR; i<rowRp1; i++) {
// sum += x[ col[i] ] * val[i]; //case 1
// sum += x[ col[i] ]; //case 2
}
y[r] = sum;
}
}
}
public static void main (String args[]) {
int x[] = {12, 3, 6, 7, 2, 3, 3, 9, 10, 20, 10, 12, 11, 143, 18, 12, 12, 17, 14, 19, 12, 12, 12, 12, 12};
int y[] = {12, 3, 6, 7, 2, 3, 3, 9, 10, 20, 10, 12, 11, 143, 18, 12, 12, 17, 14, 19, 12, 12, 12, 12, 12};
int val[] = {12, 3, 6, 7, 2, 3, 3, 9, 10, 20, 10, 12, 11, 143, 18, 12, 12, 17, 14, 19, 12, 12, 12, 12, 12};
int row[] = {8, 20, 4, 20, 4, 13, 20, 7, 12, 12, 14, 20, 20, 20, 8, 2, 3, 20, 5, 9, 12};
int col[] = {8, 20, 4, 20, 4, 13, 20, 7, 12, 12, 14, 20, 20, 20, 8, 2, 3, 20, 5, 9, 12};
double sum = 0.0;
long startTime = System.currentTimeMillis();
matrix.matmult(y, val, row, col, x, 10000000);
long endTime = System.currentTimeMillis();
System.err.println("sum = "+sum+" time: "+ (endTime - startTime));
}
}
6.
import java.lang.*;
class min {
public min() {
}
synchronized public int inc() {
// public int inc() {
return 1;
}
public static void main (String args[]) {
int sum = 0;
min test =new min();
long startTime = System.currentTimeMillis();
for(int i = 0; i <= 20000; i++) {
for(int j = 0; j < 20000; j++) {
sum += test.inc();
/*
sum += test.inc();
sum += test.inc();
sum += test.inc();
sum += test.inc();
*/
}
}
long endTime = System.currentTimeMillis();
System.err.println("sum = "+sum+" time: "+ (endTime - startTime));
}
}
7.
class sparse_small {
public static void matmult( double y[], double val[], int row[], int col[], double x[], int NUM_ITERATIONS) {
int M = row.length - 1;
for (int reps=0; reps<NUM_ITERATIONS; reps++) {
for (int r=0; r<M; r++) {
double sum = 0.0;
int rowR = row[r];
int rowRp1 = row[r+1];
for (int i=rowR; i<rowRp1; i++) {
sum += x[ col[i] ] * val[i];
}
y[r] = sum;
}
}
}
public static void main (String args[]) {
double x[] = {12.0, 3.9, 6.7, 7.8, 2.9, 3.2, 3.7, 9.9, 10.1, 20.3, 10, 12.3, 11.1, 143, 18, 12.4, 12.2, 17, 14, 19, 12, 12, 12, 12, 12};
double y[] = {12.0, 3.9, 6.7, 7.8, 2.9, 3.2, 3.7, 9.9, 10.1, 20.3, 10, 12.3, 11.1, 143, 18, 12.4, 12.2, 17, 14, 19, 12, 12, 12, 12, 12};
double val[] = {12.0, 3.9, 6.7, 7.8, 2.9, 3.2, 3.7, 9.9, 10.1, 20.3, 10, 12.3, 11.1, 143, 18, 12.4, 12.2, 17, 14, 19, 12, 12, 12, 12, 12};
int row[] = {8, 20, 4, 20, 4, 13, 20, 7, 12, 12, 14, 20, 20, 20, 8, 2, 3, 20, 5, 9, 12};
int col[] = {8, 20, 4, 20, 4, 13, 20, 7, 12, 12, 14, 20, 20, 20, 8, 2, 3, 20, 5, 9, 12};
double sum = 0.0;
long startTime = System.currentTimeMillis();
sparse_small.matmult(y, val, row, col, x, 10000000);
long endTime = System.currentTimeMillis();
System.err.println("sum = "+sum+" time: "+ (endTime - startTime));
}
}
8.
class sum {
public static int cal(int low, int high) {
int sum = 0;
for (int i = low; i < high; i++) {
// for (int j = -10; j < low; j++)
sum += i;
}
return sum;
}
public static void main (String args[]) {
int s = 0;
long startTime = System.currentTimeMillis();
// for(int i = 0; i < 9999; i++)
s = sum.cal(1, 900000);
long endTime = System.currentTimeMillis();
System.err.println("s = "+s+"time: "+ (endTime - startTime));
}
}