|
Мишка Косолапый :)
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
|
||||||
Многопоточное формирование строк по шаблону09.12.2018, 11:53. Показов 961. Ответов 7
Метки нет (Все метки)
Всем здравствуйте! Имеется такой код:
Количество аргументов либо 1 либо 2. Очень горячее место в коде, десятки потоков дергают это место сотни раз в секунду. Вопрос: есть ли разница в производительности если я разделю этот метод на 2шт. заменив Object... args на метод с Object o1 и на второй метод с Obkect o1, Object o2. Или может JIT это и так за меня сделает? Или будут затраты на обертывание в массив? Но вообще String.format очень медленный, и много памяти под себя выделяет. Сначала у меня была идея создать на каждый из template-ов по одному StringBuilder-у и они append этот шаблон и на нужные места insert нужные значения. Но если 2 потока дернут один метод, тогда 1го экземпляра StringBuilder мало и они друг другу мешают. Может есть способы заменить String.format на что то получше?
0
|
||||||
| 09.12.2018, 11:53 | |
|
Ответы с готовыми решениями:
7
Формирование отчетов excel по шаблону Формирование Excel документа по шаблону данными из БД
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 09.12.2018, 12:25 | ||
|
Если хочешь действительно заняться оптимизаций нужных участков кода, используй для начала эти утилиты чтобы найти такие участки, затем пробуй оптимизации опять же проверяя результаты. Тогда подобных вопросов не возникнет. На такие вопросы впринципе обычно невозможно дать ответ без глубокого погружения в контекст.
1
|
||
|
Мишка Косолапый :)
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
|
|
| 09.12.2018, 12:55 [ТС] | |
|
KEKCoGEN, пользуюсь Java Fligth Recorder и именно он говорит, что методы горячие. Беру самое верхнее место и выковыреваю в нем чего нибудь, потом заново запускаю профайлер и там уже другое место 1. И т.д. вот теперь String.format на первом месте.
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 09.12.2018, 13:31 | |
|
zuxa-zuxa, то что методы вызывеются много раз не говорит о том, что там проблемы с перформансом.
0
|
|
|
19 / 19 / 1
Регистрация: 12.03.2018
Сообщений: 252
|
|
| 09.12.2018, 17:56 | |
|
Для многострочного форматирования предлагаю использовать Freemarker
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 09.12.2018, 21:38 | |
|
Artyr2, вопрос не читал?
0
|
|
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|||
| 10.12.2018, 11:47 | |||
|
Добавлено через 4 минуты
1
|
|||
|
Мишка Косолапый :)
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
|
|
| 10.12.2018, 17:15 [ТС] | |
|
0
|
|
| 10.12.2018, 17:15 | |
|
Помогаю со студенческими работами здесь
8
Замена значений в .DOCX файле, без наличия MS Word у пользователей или формирование договоров и счетов по шаблону Многопоточное чтение строк из файла Разбиение строк по шаблону Добавление строк по шаблону Редактирование строк по шаблону Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|