Я провел ряд неофициальных тестов на CF10 с помощью 4 различных способов объединения строк, и результаты оказались удивительными. Я сделал 50 тыс. Итераций добавления HELLO различными способами. Ниже приведены некоторые приблизительные данные в порядке от медленного к быстрому. Эти цифры были одинаковыми по 10 различным запросам, следовательно, в среднем:
string1 = "#string1##string2#"; // ~4800ms
string1 = string1 & string2; // ~ 4500ms
string1 &= string2; // ~4200ms
string1 = createObject("java", "java.lang.StringBuffer").init();
string1.append(string2); // ~250ms
Они упали в том порядке, в котором я ожидал, но был удивлен, насколько быстрее был StringBuffer
. Я чувствую, что вы получите максимальную отдачу от этого при объединении больших объемов данных String, таких как CSV или аналогичные. Я не проводил детального теста, который взвешивал бы один вариант над другим в типичных одноразовых операциях.