compress_bb
List of: Options
Subjects: History and Roll, Modeler Control
Contents: Kernel

Action: Controls bulletin board compression.

Name String: compress_bb

Scheme: boolean #f, #t #t

Test Harness: integer 0, 1 1

C++: logical FALSE, TRUE TRUE

Description: If on, bulletin boards are to be automatically compressed. This means that each bulletin board is automatically merged with any previous bulletin boards in the same delta state. This generally results in smaller memory usage. To maintain separate bulletin boards for each API, set this option to off during initialization.


Each set of operations within an outermost API_BEGIN/API_END block produces a bulletin board containing a bulletin for each entity created, changed, or deleted within that block. All operations on any given entity within the block go into a single bulletin. Thus, the bulletin indicates only the state of the entity before and after the entire block.


A call to API api_note_state creates a delta state containing all of the bulletin boards created since the previous call to api_note_state. If an entity has been modified in several different blocks, there will be several bulletins for that entity, each on a different bulletin board.


If the compress_bb option is on, at the end of each successful block the bulletins in the bulletin board created for that block are merged with those from the previous bulletin board, so they appear as though the operations occurred in the same block. This should save memory used by extra bulletins and backup copies of modified entities. It should also save time during roll back.

Example: ; compress_bb

; Turn off bulletin board compression

(option:set "compress_bb" #f)

;; #t
PDF/KERN/40OPT.PDF
HTM/DATA/KERN/KERN/40OPT/0016.HTM