AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.01.2017, 18:04   #1  
Diman is offline
Diman
Участник
Сотрудники Microsoft Dynamics
 
166 / 35 (2) +++
Регистрация: 27.06.2003
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
скорее дело не в IL, а в сборщике мусора.

поддерживаю про StringBuilder.
Поддерживаю про сборщик мусора, а также добавлю, что причиной служит то, что строки в .Net есть константа, и каждая итерация сильно нагружает память и в итоге она быстро заканчивается, запускается GC, который память освобождает и упаковывает. А вот переход на StringBuilder оправдан при большом кол-ве итераций изменений. Если посмотреть исходники StringBuilder, то там используетеся не тип string a char[], и память выделяется небольшими порциями.
Я вот все хочу сравнить производительность разных коллекций,все руки не доходят.
__________________
Sapere aude
За это сообщение автора поблагодарили: Logger (3).
Старый 19.01.2017, 20:10   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,887 / 3152 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Diman Посмотреть сообщение
Поддерживаю про сборщик мусора, а также добавлю, что причиной служит то, что строки в .Net есть константа, и каждая итерация сильно нагружает память и в итоге она быстро заканчивается, запускается GC, который память освобождает и упаковывает. ...
Да, вы правы.
Вряд ли поэтому удастся сделать быстрый += в CIL.
Получается, что как ни изворачивайся, а сложно теперь писать код одинаково быстрый и в p-code и в CIL. Ну если только TextBuffer или StringBuilder задействовать. Код по виду будет ближе к .Net а рекомендация BP использовать += вместо a=a+b теперь протухла.
Теги
.net, cil, p-code, string, бега сферических коней;, производительность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите найти справку разработчика! FrolovAndy DAX: Программирование 4 19.02.2013 21:40
Нечеткое сравнение строк Logger DAX: Программирование 7 14.10.2010 20:55
Помогите найти тему про if (recordBuffer) kashperuk DAX: Программирование 6 27.11.2008 11:25
Баг? Сравнение строк длиной более 32767 символов vallys DAX: База знаний и проекты 6 16.07.2008 12:18
Помогите найти доку vitart DAX: Администрирование 18 03.07.2003 16:10

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:21.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.