Показать сообщение отдельно
Старый 16.04.2013, 01:57   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Я вот на одном проекте, правда, еще на 3.0 видел такие исправления кода с очень примечательными комментариями:
X++:
// уменьшение утечек памяти путем избавления от конструкций вида Map.exists([keyVal1, keyVal2, ...])
//if (dataMap.exists([keyVal1, keyVal2, keyVal3, keyVal4]))
container conKey = [keyVal1, keyVal2, keyVal3, keyVal4];
if (dataMap.exists(conKey))
Уж не знаю, правда, как это влияет на утечки памяти, - сам не проверял.
Возвращаясь к исходной публикации про buf2con() - что характерно, в 2012-й эту функцию ради ускорения работы (а, может, и для устранения утечек памяти ) вынесли в ядро, переделав с упаковки в контейнер отдельных полей на формирование "монолитного" BLOB'а. Симметричные изменения были сделаны и в con2buf(). См. также Improvements on the global methods buf2con and con2buf in Microsoft Dynamics AX 2012
За это сообщение автора поблагодарили: Logger (5), ziva (2), S.Kuskov (1).