Investigation of the Dispose-Pattern Algorithm in Making Memory Management Decisions in the .NET Client-Component Model

Author:

Попова Е.В.

Abstract

Представлено исследование алгоритма Dispose-паттерна, который используется в теории принятия решений в задачах управления памятью приложений в .NET. В долго работающих приложениях, с избыточным использованием памяти появляются предпосылки для частого запуска сборщика мусора, который работает с управляемыми ресурсами. Неуправляемые ресурсы без явной очистки могут инициировать проблемы памяти при ликвидации связанных с ними управляемых ресурсов. Составлена блок-схема метода очистки, получен алгоритм использования Dispose-паттерна в клиент-компонентной модели. Получены количественные значения различных характеристик работы сборщика мусора таких, как объем физической памяти, величина процессорного времени, максимальная пауза работы процесса и др. Данные собраны на основе приложения, состоящего из компонента и клиента, написанных на языке С#, запущенных в среде Visual Studio. Рассматриваемый компонент совместим с .NET Framework и не является компонентом Component Object Model. Сравниваются результаты работы приложения с запуском финализатора и без него. Полученные результаты помогут лицу, принимающему решение в выборе критерия оценки различных методов управления памятью, формировании однокритериальной или многокритериальной оптимизационной модели при принятии решения. The paper presents a study of the Dispose-pattern algorithm, which is used in decision theory in problems of memory management of applications in .NET. In long running applications with excessive memory usage, there are prerequisites for the frequent launch of the garbage collector, which works with managed resources. Unmanaged resources without explicit cleanup can cause memory problems when the associated managed resources are disposed of. A block diagram of the cleaning method was compiled, an algorithm for using the Dispose-pattern in the client-component model was obtained. Quantitative values ​​of various characteristics of the garbage collector are obtained, such as the amount of physical memory, the amount of processor time, the maximum pause of the process, etc. The data is collected on the basis of an application consisting of a component and a client written in C #, running in the Visual Studio environment. The component in question is compatible with the .NET Framework and is not a Component Object Model. The results of the application are compared with and without running the finalizer. The results obtained will help the decision-maker in choosing a criterion for assessing various methods of memory management, in the formation of a single-criterion or multi-criteria optimization model when making a decision.

Publisher

Voronezh Institute of High Technologies

Reference11 articles.

1. Анализ проблем с памятью .NET Framework. Microsoft. Документация. 2016. Доступно по адресу: https://technet.microsoft.com/ru-ru/evalcenter/dn342825(v=vs.85)/ (дата обращения: 20.06.2020 г.).

2. Костикова А. В. Исторические аспекты развития теории принятия решений. Философия науки, 2014;3(62):16-28.

3. Уотсон Бен. Высокопроизводительный код на платформе .NET. 2-е изд. - СПб.: Питер, 2019:1-416.

4. Atienza D., Mamagkakis S. Dynamic Memory Management Design Methodology for Reduced Memory Footprint in Multimedia and Wireless Network Applications. Computer Science Proceedings Design, Automation and Test in Europe Conference and Exhibition. 2004:1-74.

5. GC.Collect Method. Microsoft. Документация. Доступно по адресу: https://docs.microsoft.com/ru-ru/dotnet/api/system.gc.collect?view=netcore-2.0/ (дата обращения: 15.06.2020 г.).

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3