import lotus.domino.*; import java.lang.reflect.Array; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); // (Your code goes here) long max = 75000; //standardConcatenation( max ); stringBufferConcatenation( max ); //richtTextConcatenation( agentContext, max ); } catch(Exception e) { e.printStackTrace(); } } public void standardConcatenation( long iterations ){ long start = System.currentTimeMillis(); String str = "test", bigString = ""; for( int i = 0; i < iterations; i++ ){ bigString += str; } long diff = System.currentTimeMillis() - start; System.out.println( "Standard concatenation (" + iterations + " concatenations): " + diff + "ms, string length, " + bigString.length() ); } public void stringBufferConcatenation( long iterations ){ long start = System.currentTimeMillis(); String str = "test", bigString = ""; StringBuffer strBuf = new StringBuffer(); for( int i = 0; i < iterations; i++ ){ strBuf.append( str ); } bigString = strBuf.toString(); long diff = System.currentTimeMillis() - start; System.out.println( "StringBuffer-concatenation (" + iterations + " concatenations): " + diff + "ms, string length, " + bigString.length() ); stringToCharArray( bigString ); } public void richtTextConcatenation( AgentContext context, long iterations ) { try{ long start = System.currentTimeMillis(); Document doc = context.getCurrentDatabase().createDocument(); RichTextItem rti = doc.createRichTextItem( "temprt" ); String str = "test", bigString = ""; for( int i = 0; i < iterations; i++ ){ rti.appendText( str ); } bigString = rti.getUnformattedText(); long diff = System.currentTimeMillis() - start; System.out.println( "RTI-concatenation (" + iterations + " concatenations): " + diff + "ms, string length, " + bigString.length() ); } catch( Exception e ){ e.printStackTrace(); } } public void stringToCharArray( String bigString ){ long start = System.currentTimeMillis(); char[] chars = bigString.toCharArray(); long diff = System.currentTimeMillis() - start; System.out.println( "String to char[]: " + diff + "ms, string length, " + bigString.length() ); stepThroughCharArray( chars ); } public void stepThroughCharArray( char[] chars ){ long start = System.currentTimeMillis(); char character; int ubound = Array.getLength( chars ); for( int i = 0; i < ubound; i++ ){ character = Array.getChar( chars, i ); } long diff = System.currentTimeMillis() - start; System.out.println( "Step through char[]: " + diff + "ms, char[] length, " + ubound ); } }