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
|