有没有人写过或知道用C#编写的自定义内存管理器?

mar*_*ark 2 .net c# memory-management

我们有一些用C#编写的应用程序,我们希望它保持这种状态.该应用程序操纵许多小而短暂的动态内存块.它似乎也对GC中断很敏感.

我们认为减少GC的一种方法是分配100K块,然后使用自定义内存管理器从它们分配内存.有没有人在C#中遇到过自定义内存管理器实现?

spe*_*der 8

也许你应该考虑使用某种池化架构,在这种架构中,你预先预先分配一些项目,然后从池中租用它们.这样可以很好地固定内存需求.MSDN上有一些可以作为参考的实现:

http://msdn2.microsoft.com/en-us/library/bb517542.aspx

http://msdn.microsoft.com/en-us/library/system.net.sockets.socketasynceventargs.socketasynceventargs.aspx

......或者如果需要,我可以提供我的通用实现.