I am trying to see the execution speed of StringBuffer and StringBuilder but every time I am getting different results.
CASE ONE
long startTime=System.currentTimeMillis();
StringBuilder builder=new StringBuilder();
StringBuffer buffer=new StringBuffer();
for(int i=0;i<1000;i++){
builder.append("Okay");}
System.out.println("Builder Elapsed Time :"+(System.currentTimeMillis()-
startTime));
long bufferStartTime=System.currentTimeMillis();
for(int i=0;i<1000;i++){
buffer.append("Okay");}
System.out.println("Buffer Elapsed Time :"+(System.currentTimeMillis()-
bufferStartTime));
OUTPUT:-
Builder Elapsed Time:1
Buffer Elapsed Time :0
CASE TWO
StringBuilder builder=new StringBuilder();
StringBuffer buffer=new StringBuffer();
long startTime=System.currentTimeMillis();
for(int i=0;i<1000;i++) {
buffer.append("Okay");
}
System.out.println("Buffer Elapsed Time :"+(System.currentTimeMillis()-
startTime));
long builderStartTime=System.currentTimeMillis();
for(int i=0;i<1000;i++){
builder.append("Okay");}
System.out.println("Builder Elapsed Time :"+(System.currentTimeMillis()-
builderStartTime));
OUTPUT:-
Buffer Elapsed Time:1
Builder Elapsed Time:0
I have tried two cases but getting different results from anyone please help me why it's happening.