Thank you, It seems that there is something wrong in my eclipse. The simplest TestCase runs very very slowly in it. When I replace the eclipse with a new version, the cost turns to be 300ms and even more quickly than that, it's so nice, thank you!
----- Original Message ----- From: "Nathan Bubna" <[email protected]> To: "Velocity Users List" <[email protected]> Sent: Tuesday, December 30, 2008 1:33 AM Subject: Re: The loading of such a template cost 16000ms :( > 16 seconds? I'm with Byron on this. Something is wrong, and it's > not with your template or Velocity's parsing. This template is > neither long enough nor complicated enough to get anywhere close to > that time for parsing on any sort of modern system. What system is > this on? Are you using a custom resource loader? URLResourceLoader > over a slow connection? What profiler are you getting the 16000ms > time from? It would be best to know exactly where in your system this > time is being spent. > > On Mon, Dec 29, 2008 at 1:11 AM, bluejoe <[email protected]> wrote: >> Hi, all. My template file is shown below, getTemplate() cost more than >> 16000ms to load it. I don't know what's wrong with it. This template is >> created automatically by another Velocity client class (I named it as >> TemplatePublisher), so it is too ugly and long. Who can tell me how to >> optimize this template to make the loading time shorter? >> >> thanks a lot! >> >> ============== my poor template ============== >> >> <!--created by VdbPublisher at 2008-12-27 00:14:31--> >> #if ($pageViewer.beans.size() == 0) >> <center> >> <div style="width:100%" align="left"> <br> >> <p><font color="#cccccc">no records...</font></p> >> </div> >> </center> >> #else >> <table align="center" width="100%" border="1" cellpadding="6" class="table1 >> dataset book"> >> <tr class="header"> >> <td align="center" fieldId="8a8080841c833108011c8331087c0002" >> orderAsc="${jsoQuery.orderAsc}" onclick="setOrderBy(this)" >> style="cursor:hand" title="order by number" ><b><img src="/images/key.gif" >> align="absbottom"> number</b>#if ('8a8080841c833108011c8331087c0002' == >> $jsoQuery.orderId)<img src="/images/${jsoQuery.orderAsc}.gif" >> align="absbottom" width="13">#end</td> >> <td align="center" fieldId="8a8080841c833108011c8331087c0003" >> orderAsc="${jsoQuery.orderAsc}" onclick="setOrderBy(this)" >> style="cursor:hand" title="order by title" ><b> title</b>#if >> ('8a8080841c833108011c8331087c0003' == $jsoQuery.orderId)<img >> src="/images/${jsoQuery.orderAsc}.gif" align="absbottom" width="13">#end</td> >> <td align="center" fieldId="1f62836e1c8dd5da011c8dd909b00001" >> orderAsc="${jsoQuery.orderAsc}" onclick="setOrderBy(this)" >> style="cursor:hand" title="order by price" ><b> price</b>#if >> ('1f62836e1c8dd5da011c8dd909b00001' == $jsoQuery.orderId)<img >> src="/images/${jsoQuery.orderAsc}.gif" align="absbottom" width="13">#end</td> >> <td align="center" fieldId="1f62836e1c8dd5da011c8dd925d30003" >> orderAsc="${jsoQuery.orderAsc}" onclick="setOrderBy(this)" >> style="cursor:hand" title="order by modification time" ><b> modification >> time</b>#if ('1f62836e1c8dd5da011c8dd925d30003' == $jsoQuery.orderId)<img >> src="/images/${jsoQuery.orderAsc}.gif" align="absbottom" width="13">#end</td> >> <td align="center" fieldId="1f62836e1c8de132011c8e09666d0001" >> orderAsc="${jsoQuery.orderAsc}" onclick="setOrderBy(this)" >> style="cursor:hand" title="order by description" ><b> description</b>#if >> ('1f62836e1c8de132011c8e09666d0001' == $jsoQuery.orderId)<img >> src="/images/${jsoQuery.orderAsc}.gif" align="absbottom" width="13">#end</td> >> <td align="center" fieldId="1f62836e1c8de132011c8e0984550003" >> orderAsc="${jsoQuery.orderAsc}" style="color:#888888" title="unsortable" >> ><b> images</b>#if ('1f62836e1c8de132011c8e0984550003' == >> $jsoQuery.orderId)<img src="/images/${jsoQuery.orderAsc}.gif" >> align="absbottom" width="13">#end</td> >> <td align="center" fieldId="1f62836e1c8de132011c8e09b4000005" >> orderAsc="${jsoQuery.orderAsc}" onclick="setOrderBy(this)" >> style="cursor:hand" title="order by publish date" ><b> publish date</b>#if >> ('1f62836e1c8de132011c8e09b4000005' == $jsoQuery.orderId)<img >> src="/images/${jsoQuery.orderAsc}.gif" align="absbottom" width="13">#end</td> >> <td align="center" fieldId="ff8080811db4d587011db4e3fab5000a" >> orderAsc="${jsoQuery.orderAsc}" onclick="setOrderBy(this)" >> style="cursor:hand" title="order by isNew" ><b> isNew</b>#if >> ('ff8080811db4d587011db4e3fab5000a' == $jsoQuery.orderId)<img >> src="/images/${jsoQuery.orderAsc}.gif" align="absbottom" width="13">#end</td> >> <td align="center" fieldId="ff8080811db4d587011db4e811f3000d" >> orderAsc="${jsoQuery.orderAsc}" style="color:#888888" title="unsortable" >> ><b> vfield</b>#if ('ff8080811db4d587011db4e811f3000d' == >> $jsoQuery.orderId)<img src="/images/${jsoQuery.orderAsc}.gif" >> align="absbottom" width="13">#end</td> >> <td align="center" fieldId="ff8080811db4ec19011db4ec61c50001" >> orderAsc="${jsoQuery.orderAsc}" style="color:#888888" title="unsortable" >> ><b> location</b>#if ('ff8080811db4ec19011db4ec61c50001' == >> $jsoQuery.orderId)<img src="/images/${jsoQuery.orderAsc}.gif" >> align="absbottom" width="13">#end</td> >> <td align="center" fieldId="ff8080811e5245cc011e524aaa1a0005" >> orderAsc="${jsoQuery.orderAsc}" style="color:#888888" title="unsortable" >> ><b> authors</b>#if ('ff8080811e5245cc011e524aaa1a0005' == >> $jsoQuery.orderId)<img src="/images/${jsoQuery.orderAsc}.gif" >> align="absbottom" width="13">#end</td> >> <td class="header"></td> >> </tr> >> #foreach ($bean in $pageViewer.beans) >> #set ($id = $bean.id.jdbcObject) >> #set ($flag = $velocityCount%2) >> <tr id="DATAGRID_ROW" class="bg${flag}" checked="false" >> originalClass="bg$flag" rowID="${id}" onmouseout="hiliteRecord(this, false)" >> style="cursor:hand" onclick="toggleRecord(this);" title="click here to >> select this row"> >> <td>$bean.id.format('%d')</td> >> <td>$bean.title.format('%s') >> </td> >> <td>$bean.price.format('%.2f')</td> >> <td>$bean.posttime.dateFormat('')</td> >> <td>$bean.desc.format('%s') >> </td> >> <td>#foreach ($file in $bean.photo.files) >> <a href="${file.filePath}">${file.title}[${file.fileSize}]</a><br> >> #end</td> >> <td>$bean.publishdate.dateFormat('')</td> >> <td>$bean.ispop.format('%s') >> </td> >> <td>$bean.vfield.value</td> >> <td>$bean.location.lon, $bean.location.lat</td> >> <td><div id="13" class="DataTableView"></div> >> <script> >> var jsoQuery_13 = new SlaveQuery('cn.csdb.paperdb.author', >> '${bean.id.jdbcObject}', 'cn.csdb.paperdb.book.authors'); >> jsoQuery_13.pageSize = 20; >> var jsoDataTableView_13 = new DataTableView('cn.csdb.paperdb.author', >> jsoQuery_13, $('#13.DataTableView')[0]); >> jsoDataTableView_13.refresh(); >> </script></td> >> <td align="center" valign="top" class="bg2"><span >> id="TITLE_$velocityCount" style="display:none">$bean.title.format('%s') >> </span> >> #if($!authenticator) >> <a href=# onclick="updateRecord('8a8080841c833108011c8331087c000a', >> '${id}');">update</a> <a href=# >> onclick="deleteRecord('8a8080841c833108011c8331087c000a', >> '${id}');">delete</a> >> #end >> </td> >> </tr> >> #end >> </table> >> <p> <input type="checkbox" onclick="checkRecords(this);">select all >> >> #if($!authenticator) >> <button onclick='deleteRecords();'><img src='/images/submit_n.gif' border=0 >> align=absbottom>delete all</button> >> #end >> </p> >> #if ($pageViewer.pageCount > 1) >> <br> >> <center> >> <div style="width:100%"> >> <div align="right">${pageViewer.footerBar1}</div> >> </div> >> <div style="width:100%"> >> <div align="right">${pageViewer.footerBar2}</div> >> </div> >> </center> >> #end >> #end > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >
