Friends, going through the source code looking for
places to optimize the critical path (i.e. the path
taken when no error or log message is performed),
I went through adding StringBuffers where there were
three or more strings to concatenate.
I found an enigma.
In several places, where the code was already using
a StringBuffer, I found code snippets like this:
buffer.append("<" + prefix + ":" + name + "/>");
This gets expanded into the much more complex code as
follows:
buffer.append(
new StringBuffer(
new StringBuffer(
new StringBuffer(
new StringBuffer("<").append(prefix).toString()
).append(":").toString()
).append(name).toString()
).append("/>").toString()
);
That means four additional StringBuffers were created
behind the scenes. This is ludicrous when we are already
using StringBuffers--and wasteful of resources.
Instead, please write the code to explicitly take advantage
of the StringBuffer when it is available:
buffer.append("<").append(prefix).append(":").append(name).append("/>");
This is more respectful of the environment, and is much quicker
to execute on any JVM.
Please, be mindful in the future.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]