草庐IT

enableAllocationLimit

全部标签

multithreading - 我可以限制 Haskell 中每个函数/monad/线程的内存使用吗?

我正在从事一个旨在作为服务工作的研究编译器项目。其中一项要求是某些用户在处理其调用时可能具有有限的内存使用量(例如,“来自IPa.b.c.d的调用可能使用多达30mb的堆内存”)。我的原型(prototype)实现,用C语言编写,简单地使用了一个内存池,而不是直接使用malloc'ing(由于有效的类型,实际上很难做到正确)。不过,手动内存管理。在Haskell中是否有任何方法可以通过限制函数、monad或轻量级线程上的堆使用来实现这一点?(我会接受可能允许我这样做的其他功能语言的建议。) 最佳答案 在最新版本的GHC中,可以使用G

multithreading - 我可以限制 Haskell 中每个函数/monad/线程的内存使用吗?

我正在从事一个旨在作为服务工作的研究编译器项目。其中一项要求是某些用户在处理其调用时可能具有有限的内存使用量(例如,“来自IPa.b.c.d的调用可能使用多达30mb的堆内存”)。我的原型(prototype)实现,用C语言编写,简单地使用了一个内存池,而不是直接使用malloc'ing(由于有效的类型,实际上很难做到正确)。不过,手动内存管理。在Haskell中是否有任何方法可以通过限制函数、monad或轻量级线程上的堆使用来实现这一点?(我会接受可能允许我这样做的其他功能语言的建议。) 最佳答案 在最新版本的GHC中,可以使用G