Исследование алгоритма Dispose-паттерна при принятии решений управления памятью в клиент-компонентной модели .NET
Работая с нашим сайтом, вы даете свое согласие на использование файлов cookie. Это необходимо для нормального функционирования сайта, показа целевой рекламы и анализа трафика. Статистика использования сайта отправляется в «Яндекс» и «Google»
Научный журнал Моделирование, оптимизация и информационные технологииThe scientific journal Modeling, Optimization and Information Technology
Online media
issn 2310-6018

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

Popova E.V.  

UDC 519.6; 004.02
DOI: 10.26102/2310-6018/2020.30.3.013

  • Abstract
  • List of references
  • About authors

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 multicriteria optimization model when making a decision.

1. Analysis of memory problems.NET Framework. Microsoft. Documentation. 2016. Available from: https://technet.microsoft.com/ru-ru/evalcenter/dn342825(v=vs.85)/ [Accessed 20th June 2020]. (In Russ)

2. Kostikova A. V. Historical aspects of the development of decision theory. Filosofiya nauki 2014;3(62):16-28.

3. Uotson Ben. High performance code on the platform.NET. 2-e izd. - SPb.: Piter, 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. Documentation. Available from: https://docs.microsoft.com/ru-ru/dotnet/api/system.gc.collect?view=netcore-2.0/ [Accessed 15th June 2020]. (In Russ)

6. Performance .NET Framework. Microsoft. Documentation. 2017. Available from: https://docs.microsoft.com/ru-ru/dotnet/framework/performance. [Accessed 19th July 2020]. (In Russ)

7. Albahari D., Albahari B. C# 5.0. Directory. Full language description. :Per. s angl. - M.:OOO "I. D. Vil'yams", 2014:1-1008. (In Russ)

8. Implementation of the method Dispose. Microsoft. Documentation. 2020. Available from: https://docs.microsoft.com/ru-ru/dotnet/standard/garbage-collection/implementingdispose. [Accessed 10th July 2020]. (In Russ)

9. Michaelis M. Essential C# 3.0: For .NET Framework 3.5. Pearson Education, Inc., 2009:1- 335.

10. GOST 19.701-90 (ISO 5807-85) "Unified system of program documentation." M.: Standartinform, 2010:1-23.

11. Parkinson M. et al. Project Snowflake: Non-blocking Safe Manual Memory Management in .NET. Microsoft Research, 2017:1-40.

Popova Elena Vladimirovna
Candidate of Technical Sciences, Associate Professor
Email: serana5@inbox.ru

Saint Petersburg Electrotechnical University "LETI"

St. Petersburg, Russian Federation

Keywords: memory management method algorithm, decision making, dispose-pattern, finalizer, clientcomponent model

For citation: Popova E.V. Investigation of the Dispose-Pattern Algorithm in Making Memory Management Decisions in the .NET Client-Component Model. Modeling, Optimization and Information Technology. 2020;8(3). Available from: https://moit.vivt.ru/wp-content/uploads/2020/08/Popova_3_20_1.pdf DOI: 10.26102/2310-6018/2020.30.3.013 (In Russ).

606

Full text in PDF