StringTemplate insert = new StringTemplate("insert $table$ values($value;separator=\",\"$)");
int testSize = 10000;
for(int i=0;i<testSize;i++) {
insert.setAttribute("table", "aTable");
String[] vs = {"1", "1", "'aaa'", "'bbb'"};
for(int j = 0;j < vs.length;j++){
insert.setAttribute("value", vs[j]);
}
insert.toString();
insert.reset();
}
以上會慢於大約5倍以下普通的StringBuilder ....StringTemplate比純字符串連接慢嗎?
int testSize = 10000;
StringBuilder sb= new StringBuilder(100);
for(int i=0; i<testSize; i++) {
sb.append("INSERT ").append("aTable (");
String[] v = {"1", "1", "'aaa'", "'bbb'"};
for(int j=0; j<v.length; j++) {
if(j > 0) {
sb.append(",");
}
sb.append(v[j]);
}
sb.append(")");
sb.toString();
}
任何想法或如何提高StringTemplate的的工作效率的建議嗎? 謝謝! StringTemplate似乎在每個標記上調用toString(),對吧?
您需要更好地描述這個問題。你是否期望我們執行代碼,計時,並提出數據來告訴我們你的問題究竟是什麼?相反,告訴我們你從這些測試中看到了什麼,你期望什麼,以及可能你對於差異原因的假設。 – 2011-04-28 10:06:48
例如,我們先從哪個語言/運行時開始?什麼是StringTemplate(因爲你根本沒有在代碼中)當你說「有任何想法或建議?」時,那麼我的問題是「關於什麼?」基本上...... **你的問題是什麼**? – 2011-04-28 10:07:48
@ Lasse V. Karlsen:你完全正確。現在我更清楚地提出我的問題。 – rayeaster 2011-04-28 11:51:37