Considerable tuning of the group insert/delete operations.
authorChris Hanson <org/chris-hanson/cph>
Sat, 4 Apr 1992 13:07:09 +0000 (13:07 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sat, 4 Apr 1992 13:07:09 +0000 (13:07 +0000)
commit6e7b4c414b065b50cbe78e7582fdf3ad4047d10a
tree67ce0d35ea51b7af31fb9a9922bb8d9a619b61fb
parent6ce4f488dd169db8bece339c3c5949d953456b52
Considerable tuning of the group insert/delete operations.

* Eliminate buffer-modification-daemon; change group insert/delete
  operations to set the GROUP-MODIFIED? flag directly, and change the
  auto-save code to work around that flag.  Now, buffers that are not
  visible have no insert or delete daemons, and the group
  insert/delete operations notice this to eliminate a procedure call.

* The editor now has a GC daemon that cleans the marks list of every
  known buffer.  The allows FOR-EACH-MARK to be inline-coded in the
  group insert/delete operations.

* Eliminate bug in GROUP-DELETE!: when the gap exceeded
  GAP-MAXIMUM-EXTRA, it was being reduced to GAP-MAXIMUM-EXTRA.  Thus
  a series of deletions would cause the gap to reach that size, then
  each subsequent deletion in the series would pay for a gap
  reduction, which can be thousands (or even millions) of
  instructions, depending on the size of the buffer.  Now when the gap
  reaches maximum size, it is reduced to GAP-ALLOCATION-EXTRA,
  allowing the gap reduction to be amortized over many deletions.
v7/src/edwin/buffer.scm
v7/src/edwin/debuge.scm
v7/src/edwin/editor.scm
v7/src/edwin/edwin.pkg
v7/src/edwin/fileio.scm
v7/src/edwin/grpops.scm