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()을 호출하는 것 같습니다.
질문을 더 잘 설명해야합니다. 우리가 코드를 실행하고, 시간을 내고, 데이터를 제공하여 귀하의 질문이 실제로 무엇인지 알려줄 것으로 기대하십니까? 대신, 당신이 그 시험에서 보았던 것, 당신이 기대 한 것, 그리고 아마도 그 차이의 이유에 대한 당신의 가설을 말해주십시오. –
예를 들어, 어떤 언어/런타임을 사용합니까? StringTemplate은 무엇입니까 (코드에 전혀 포함되어 있지 않기 때문에). "어떤 생각이나 제안"이라고 말하면 내 질문은 "무엇에 관한 것입니까?" 기본적으로 ... ** 당신의 질문은 무엇입니까 **? –
@ Lasse V. Karlsen : 당신 말이 맞습니다. 이제 질문을 좀 더 분명하게 제기합니다. – rayeaster