Инструменты пользователя

Инструменты сайта


axapta:управлениепамятью

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

axapta:управлениепамятью [2018/04/13 22:43] (текущий)
Строка 1: Строка 1:
 +Раздел: [[Программирование | ]] > [[СредаИсполнения]]
 +----
 +В Axapta есть [[:СборкаМусора]]. (Настраивается: Сервис\Параметры\Разработка\Критерий начала сборки мусора)
  
 +Менеджер памяти построен на основе библиотеки [[:SmartHeap]], надо которой есть обёртка -- Класс/HeapCheck
 +
 +
 +В Ax2009 от использования [[~SmartHeap]] отказались (поскольку даже SMP - версия была неидеальна с точки зрения работы с объектами синхронизации). В версии 2009 smartheap бlibrary был заменена на [[http://msdn.microsoft.com/en-us/library/aa366750(VS.85).aspx]], появившийся в Windows 2003.
 +
 +имеется Функция/SmartHeapMemorySizeUp
 +<code XPP>
 +static void SmartHeap(Args _args)
 +{
 +  HeapCheck   hc;
 +  int         i, pageSize, newPageSize;
 + ;
 +
 +  hc = new HeapCheck();
 +  i = hc.poolCount();
 +  while (i>0)
 +  {
 +      print 'Data for pool no = ' + int2str( i );
 +      print 'FixedBlockSize = ' + int2str( hc.fixedBlockSize(i) ) + 'SmallBlockSize = ' + int2str( hc.smallBlockSize(i) );
 +      pageSize = hc.pageSize(i);
 +      if (pageSize < 32768)
 +      {
 +          newPageSize = 2 * pageSize;
 +          hc.pageSize( i, newPageSize );
 +      }
 +      else
 +          newPageSize = pageSize;
 +      print 'PageSize = ' + int2str( pageSize ) + 'PageSize = ' + int2str( newPageSize );
 +
 +      i--;
 +  }
 +  pause;
 +}
 +</code>
 +----
 +см. [[:ФорумMazzy]]: [[http://forum.mazzy.ru/index.php?showtopic=3374]]
 +  * [[AxForum:5156]]
 +  * [[http://axforum.info/forums/showthread.php?p=184444]]
axapta/управлениепамятью.txt · Последнее изменение: 2018/04/13 22:43 (внешнее изменение)