<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments for Mark Pelf &#8211; Blog	</title>
	<atom:link href="https://markpelf.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>https://markpelf.com</link>
	<description>,NET Blog by Mark Pelf</description>
	<lastBuildDate>Fri, 05 Jan 2024 08:58:29 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		Comment on Discussing alternative memory management strategy for .NET by Max Hanin		</title>
		<link>https://markpelf.com/1028/discussing-alternative-memory-management-strategy-for-net/#comment-64</link>

		<dc:creator><![CDATA[Max Hanin]]></dc:creator>
		<pubDate>Fri, 05 Jan 2024 08:58:29 +0000</pubDate>
		<guid isPermaLink="false">https://www.markpelf.com/?p=1028#comment-64</guid>

					<description><![CDATA[Dear Mark, all you mentioned in your article makes much sense because that`s pretty much what I was thinking about last time when writing so-called low latency applications. Especially when you want to write C++ style memory management apps with manual object creation and deletion, but forced to use C# because of other restrictions. My I was thinking that definitely C# with its GC is not created for for extremely low latency apps, but we try to find a workaround, even if it`s not beautiful. o I thought, as one of possible solutions, why don`t we create objects with AllocHGlobal or AllocCoTaskMem and delete the objects manually inside unsafe blocks. I understand that this way we will have to write pretty much all code in unsafe blocks and that we cant eliminate GC suspending threads at all when collecting garbage, but we can minimize the number of objects allocated in the managed heap, so that GC collection will occur much less frequently. Most of our objects we will allocate and delete manually what will free GC from doing most of work. But in general, I agree with your GDC suggestion. That would be great if this sort of C++ style memory management with virtual distructor would be implemented, so that devs can choose which mode to use.]]></description>
			<content:encoded><![CDATA[<p>Dear Mark, all you mentioned in your article makes much sense because that`s pretty much what I was thinking about last time when writing so-called low latency applications. Especially when you want to write C++ style memory management apps with manual object creation and deletion, but forced to use C# because of other restrictions. My I was thinking that definitely C# with its GC is not created for for extremely low latency apps, but we try to find a workaround, even if it`s not beautiful. o I thought, as one of possible solutions, why don`t we create objects with AllocHGlobal or AllocCoTaskMem and delete the objects manually inside unsafe blocks. I understand that this way we will have to write pretty much all code in unsafe blocks and that we cant eliminate GC suspending threads at all when collecting garbage, but we can minimize the number of objects allocated in the managed heap, so that GC collection will occur much less frequently. Most of our objects we will allocate and delete manually what will free GC from doing most of work. But in general, I agree with your GDC suggestion. That would be great if this sort of C++ style memory management with virtual distructor would be implemented, so that devs can choose which mode to use.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Comment on Discussing alternative memory management strategy for .NET by Lakani		</title>
		<link>https://markpelf.com/1028/discussing-alternative-memory-management-strategy-for-net/#comment-55</link>

		<dc:creator><![CDATA[Lakani]]></dc:creator>
		<pubDate>Sat, 04 Mar 2023 19:14:34 +0000</pubDate>
		<guid isPermaLink="false">https://www.markpelf.com/?p=1028#comment-55</guid>

					<description><![CDATA[Actually I was googling for the same topic, if you look at carbon language,. You will find something like heap.new , heap.delete
I wonder if there could be a similar in dotnet]]></description>
			<content:encoded><![CDATA[<p>Actually I was googling for the same topic, if you look at carbon language,. You will find something like heap.new , heap.delete<br />
I wonder if there could be a similar in dotnet</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
