ColdFusion is great for rapid development of things but it's not to hot in the raw processing department. CF 4.5 introduced the ability to create custom tags in Java as well as in C++ which had been around for a while before that.

In order to show the difference between CF and Java I took a CF page my friend wrote that produces the mandlebrot set as an HTML table with the colours done as background colours to each TD and re-wrote it in Java as a CFX. If you look at the source it's over 700k of the following nastyness:

<td bgcolor='#0cf000' width='4' height='4'></td>

I realise that this is a somewhat silly example but it does make a point: for raw number crunching, Java is an order of magnitude faster.

A very lurid Mandlebrot set
What the code produces. HTML Source here

In speed tests the CF version ran in 40 ish seconds and the Java one in about 3. That's the kind of speed improvement I like :) The source to the Java one is here. If you look at the source you can see that the only concession to speed I made was to place the html into a stringbuffer and then write it out in one go at the end of the tag. This saves on communication with CF.