3 ms·
No, it won't. You might want an arena for other reasons (better reasoning about lifetimes, preventing nest of pointers, etc.), but an array of line array approa
by HexDecOctBin 2y ago
No, it won't. You might want an arena for other reasons (better reasoning about lifetimes, preventing nest of pointers, etc.), but an array of line array approach to text editors is totally valid (except in the case of millions of extremely small lines).
- lanstin 2y agoI do from time to time open files of millions of small lines. To this day vim handles it better than emacs. These would be log files.
- HexDecOctBin 2y agoLog files have lines that are long enough, I was thinking more of one/two-character long lines (such that the overhead of malloc bookkeeping would be more than the line size in memory). Regardless, Emacs also stores the data in a single array with a gap in middle (and memcpy is relatively cheap), so what slows it down is probably not the choice of data structure but everything else built around it.
- lanstin 2y agoYeah I have very high limits for paren matching and syntax highlighting so probably those scanners.