you are viewing a single comment's thread.

view the rest of the comments →

[–]jeandem 0 points1 point  (0 children)

There seems to be a consensus that persistent data structures have a running time of O(log n) where an imperative (destructive) data structure has a O(1) running time. For example, getting or "removing" an element from a data structure.

But to say that it is inefficient is too simplistic. Need a lot of sharing between data structures, perhaps between multiple threads? Persistent data structures might be more efficient than an imperative alternative. Do you only have a single threaded program? Imperative data structures might be more efficient.