lenkite8 days ago
The piece table is an amazing editor data structure. Reasonably simple to grasp conceptually, memory efficient for large files, good cache-locality, allow easy undo/redo, original file can be read-only, etc.
Newer editors seem to prefer Rope though.
smartmic8 days ago
Is there an overview of which editor uses which data structures? I am particularly interested in GNU Emacs, vi(m), Sublime and other popular text editors among Hackers.
animal5318 days ago
Sadly I think plain old Visual Studio isn't getting much love these days.
At least Rider exist, so if they fall too far behind that will just keep growing in market share.
timewizard9 days ago
joeblubaugh8 days ago
I was surprised they didn’t go with a Rope, too, but I haven’t evaluated one compared to a piece table
joeblubaugh8 days ago
I’m surprised they got away with an ordered Array as long as they did. It’s almost prima facia poorly performing.