package com.sap.runlet.interpreter.test;
import junit.framework.TestCase;
public class FractionPerformanceTest extends TestCase {
private long lastTimestamp;
private int TIMES = 100000000;
@Override
public void setUp() {
startTimer();
}
/*
public void testAddInts() {
Fraction[] numbers = new Fraction[TIMES];
for (int i=0; i<TIMES; i++) {
numbers[i] = new Fraction(i);
}
printLap("Creating "+TIMES+" Fraction objects");
Fraction sum = new Fraction(0);
for (int i=0; i<TIMES; i++) {
sum = sum.plus(numbers[i]);
}
printLap("Adding "+TIMES+" Fraction objects that were all integers, result "+sum);
}
*/
public void testLongAdditions() {
long[] numbers = new long[TIMES];
for (int i=0; i<TIMES; i++) {
numbers[i] = i;
}
printLap("Creating "+TIMES+" long values");
long sum = 0;
for (int i=0; i<TIMES; i++) {
sum = sum + numbers[i];
}
printLap("Adding "+TIMES+" long values, result "+sum);
}
public void testIntAdditionsWithPotentialOverflow() {
int[] numbers = new int[TIMES];
for (int i=0; i<TIMES; i++) {
numbers[i] = i;
}
printLap("Creating "+TIMES+" int values");
int sum = 0;
for (int i=0; i<TIMES; i++) {
sum = sum + numbers[i];
}
printLap("Adding "+TIMES+" int values, result "+sum);
}
public void testIntAdditionsInLong() {
int[] numbers = new int[TIMES];
for (int i=0; i<TIMES; i++) {
numbers[i] = i;
}
printLap("Creating "+TIMES+" int values");
long sum = 0;
for (int i=0; i<TIMES; i++) {
sum = sum + numbers[i];
}
printLap("Adding "+TIMES+" int values into a long, result "+sum);
}
private void startTimer() {
lastTimestamp = System.currentTimeMillis();
}
private void printLap(String whatTookSoLong) {
long now = System.currentTimeMillis();
long lap = now-lastTimestamp;
System.out.println(whatTookSoLong+" took "+lap+"ms");
lastTimestamp = System.currentTimeMillis();
}
}