The Piece Table - the Unsung Hero of Your Text Editor
The piece table is a data structure used in text editors to efficiently manage file content during editing. It avoids performance issues associated with inserting text by using an append-only buffer for new content. This approach improves efficiency, especially for large files, by minimizing memory reallocation and data shifting.
- ▪The piece table consists of two buffers: an unmodified original buffer and an append-only add buffer.
- ▪Text insertions are written to the add buffer, preserving performance by avoiding the need to shift existing data.
- ▪Visual Studio Code and Microsoft Word 2.0 both use or have used piece tables for efficient text editing.
Opening excerpt (first ~120 words) tap to expand
try { if(localStorage) { let currentUser = localStorage.getItem('current_user'); if (currentUser) { currentUser = JSON.parse(currentUser); if (currentUser.id === 125606) { document.getElementById('article-show-container').classList.add('current-user-is-article-author'); } } } } catch (e) { console.error(e); } Darren Burns Posted on Jan 24, 2019 • Originally published at darrenburns.net The Piece Table - the Unsung Hero of Your Text Editor #beginners #datastructures #computerscience The piece table is the unsung hero data-structure that is responsible for much of the functionality and performance characteristics we’ve come to expect from a text editor. Visual Studio Code has one. Microsoft Word 2.0 had one back in 1984.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at DEV Community.