On 10/21/2015 06:25 PM, Jonathan M Davis wrote:

My experience with immutable containers is that their performance is
trash precisely because you can't mutate them. They end up being copied
just to add elements or to change elements.

I don't think this is what's being proposed here. Updates are fast.

And even if their internals
are smart and share data as much as possible (though that starts moving
into COW pretty quickly),

COW copies the entire container.

the efficiency is still worse than having a
properly mutable container would be.

Not if you need access to older versions. If this is the case, then the "properly" mutable container carries a lot of runtime and memory overhead due to copying. Also, the difference is not very large for good implementations.

I'm sure that there are use cases
where they would be useful, but I've sure never had one. I've found that
functional languages can be great from an algorithmic perspective, but
for data structures? Not so much.

It's not tied to the language.

Reply via email to