Simon Marlow wrote:
[...] So we might well ask what useful new functionality is provided by a pool-style memory manager.
Well, I guess that about 90% of the hierarchical libraries don't provide any "new" functionality, but nevertheless they provide useful abstractions. The same holds for my proposal.
One feature is performance: [...]
That's a nice bonus, but I didn't have that in mind.
So, assuming the performance is roughly the same [..], do people see any other compelling reasons to be using pools?
I see the same compelling reasons as the ones for using foldl, sum, sequence, mapM, when, allocArray, with, ... :-)
GHC's runtime has an Arena abstraction which is an implementation of pool-style memory management, and could be used to implement Pools, BTW.
Nice, I wasn't aware of that. Cheers, S.