
public class StringBufferExample {

	public static String concatString(int num){
		String s = "";
		
		for( int i = 0; i < num; i++ ){
			s += "-";
		}
		
		return s;
	}
	
	public static String concatStringBuffer(int num){
		StringBuffer s = new StringBuffer();
		
		for( int i = 0; i < num; i++ ){
			s.append("-");
		}
		
		return s.toString();
	}
	
	public static double getTime(int numTimes, boolean buffer){
		StopWatch stop = new StopWatch();
		
		stop.start();
		
		if( buffer ){
			concatStringBuffer(numTimes);
		}else{
			concatString(numTimes);
		}
		stop.stop();
		
		return stop.getTime()/Math.pow(10, 9);
	}
	
	public static void printData(int start, int end, int increment){
		System.out.println("Repeats\tBuffer\t\tString");
		
		for( int numTimes = start; numTimes <= end; numTimes += increment ){			
			double string = getTime(numTimes, false);
			double buffer = getTime(numTimes, true);
			
			System.out.print(numTimes + "\t" + buffer);
			
			if( Double.toString(buffer).length() < 8 ){
				System.out.print("\t");
			}
			System.out.println("\t" + string);
		}
	}
	
	public static void main(String[] args){
		printData(10000, 500000, 10000);
	}
}
