显然,在实现通用文本编辑器时(例如,通用我的意思是它不必能够处理大文件(超过 100-200 MB(这仍然很多,更像是“一般情况”的极端示例)),仅将文本存储在一个连续的长缓冲区中是不可行的,因为插入/删除会降低性能。
虽然有很多方法可以解决这个问题,但它们都围绕着这样一个事实,即您必须将文本分成块,所以我的问题是:考虑到今天的计算机能力,最佳的块大小是多少?文本缓冲区的实际大小实际上开始变得太大而无法存储在简单的连续缓冲区中?当代计算机移动大块字节的速度有多快?(为了清楚起见,我们只说不能使用间隙缓冲区,每个块将是一个简单的连续数组。)