<story><title>A Brief Glance at How Various Text Editors Manage Their Textual Data (2015)</title><url>https://ecc-comp.blogspot.com/2015/05/a-brief-glance-at-how-5-text-editors.html</url></story><parent_chain></parent_chain><comment><author>userbinator</author><text>&lt;i&gt;This is very efficient, but the consequence is Vi will become slow when working with huge files, because it has to traverse through a bigger linear array&lt;/i&gt;&lt;p&gt;To put &amp;quot;bigger&amp;quot; into perspective, a modern CPU can traverse and copy memory at over 10GB&amp;#x2F;s.&lt;p&gt;This is why I&amp;#x27;ve always found the argument for more &amp;quot;efficient&amp;quot; (and complex) text editor data structures a bit tenuous --- even if you have to move MBs of data with every insertion (as happens with a simple gapless buffer), computers truly are so fast that it wouldn&amp;#x27;t look any different to the end-user; a 1ms and 1us delay upon each keystroke is, to the user, practically indistinguishable.&lt;p&gt;That&amp;#x27;s not to say I&amp;#x27;m one of those who preach against &amp;quot;premature optimisation&amp;quot; and don&amp;#x27;t care about efficiency; far from that, in fact, but the popularity of and lack of speed-related complaints against the small DOS text editors and even syntax-highlighting IDEs on PCs in the 80s through early 90s which used the same &amp;quot;one buffer&amp;quot; paradigm, on machines with a fraction of the memory bandwidth of those today, suggest that the complexity of more &amp;quot;clever&amp;quot; data structures may not be worth it.&lt;p&gt;...and yet we somehow still manage to make editors that peg a single CPU core just blinking a cursor.[1]&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=13940014&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;news.ycombinator.com&amp;#x2F;item?id=13940014&lt;/a&gt;</text></comment>
<story><title>A Brief Glance at How Various Text Editors Manage Their Textual Data (2015)</title><url>https://ecc-comp.blogspot.com/2015/05/a-brief-glance-at-how-5-text-editors.html</url></story><parent_chain></parent_chain><comment><author>ScottBurson</author><text>&amp;gt; [Sam] is one of the first editors to separate its UI from the actual editor - Sam can be used on both the command-line and as a graphical text editor.&lt;p&gt;Not even close to the first.  TECO had both command-line and graphical editing in, ah, 1964: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;TECO_(text_editor)#History&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;TECO_(text_editor)#History&lt;/a&gt;</text></comment>