The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Открыт код системы распределённой памяти Galaxy"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Открыт код системы распределённой памяти Galaxy" +/
Сообщение от Аноним (-), 12-Июл-12, 16:03 
+ Если оптимизация действительно нужна и цикл предположительно выполняется не малое количество итераций, то существенно ускорить процесс можно вынеся StringBuilder (по факту после компиляции он будет создаваться в каждой итерации) за цикл:

StringBuilder sb = new StringBuiler();

for (...) {
    ...
    sb.append("data # ").append(arg[0]).append(" ").append(arg[1]);
    string = sb.toString();
    sb.setLength(0);
    ...
}

Таким образом мы как минимум уберем создание одного промежуточного массива внутри sb на каждую итерацию и вероятно очень существенно сократим количество расширение этого массива в процессе добавления туда данных + на каждую итерацию мы убираем создание StringBuilder. В идеале, возможно в схожих ситуациях вообще можно отказаться от типа String. Так как при каждом sb.toString() будет создаваться копия массива с символами, что в самом конечном итоге приводит к лишнему использованию кэша процессора, не говоря об дополнительных операциях копирования.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Открыт код системы распределённой памяти Galaxy, opennews, 12-Июл-12, 05:47  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру