BARfly Help - Node editing - Limits to node editing

  Limits to node editing

This page describes content of the BARfly Silver and BARfly Gold builds.

There are two key factors that will limit your ability to perform node editing tasks:  node handles and memory.

Node Handles

A node handle is a 24-byte unit, managed internally by BAR, that is dedicated to representing a node in a deserialized data file.  Each node in the node browser takes up one node handle.

Node handles are not used for units of the subnode browser or other contexts where individual data units must be represented in a data file.  It is only necessary to make use of node handles where a data file lacks homogeneity in its data format (in other words, organized blocks and their immediate children).

BARfly also uses some node handles for its own internal operation.  BARfly employs BAR both directly (representing node data in data files) and indirectly (to manage its own data and its front-end interface).

If BARfly runs out of node handles, some node editing operations will fail, such as insertion of new nodes.  A deserialization process that generates a large tree will leave fewer node handles available for node editing than one that generates a relatively small tree.  You should keep such matters in mind when choosing how many node handles to allocate when BARfly starts up.

You can change the number of node handles available on startup by changing the "Max node handles" quantity in the Options.BAR_Services Settings dialog.  Since each handle takes up 24 bytes, remember that the (maximum number of node handles) x (24) is taken out of the memory space size.   If you require a very large number of node handles, you might also need to increase the memory size in the same dialog.

Memory

The amount of memory available to BARfly on startup, in bytes, is set in the Options.Memory dialog.  You should keep this at a value consistent with the needs of the file sizes you will be working with in BARfly.

BARfly uses some of the memory for its own internal operation, but in general, most of the memory is used for the data files you will be working on.

If BARfly runs out of memory, a variety of its functions are affected, including some node editing operations.

BARfly allows for the implementation of multiple BAR_Services instances.  Each BAR_Services instance has its own allotment of memory and node handles.  When BARfly starts up, it creates just one for its internal operations.  Optionally, you can have a second instance created for data files on startup as a way to isolate BARfly's internal operation from data file storage.  While the number of BAR_Services instances you can create in BARfly is limited only by available RAM on your system, each BAR_Services instance maintains a finite cap on memory and node handles available to just itself.

Learn more about BAR_Services and memory settings.


  See also: [Undo/Redo capability] [Finding and replacing data] [Saving files]


BARfly Help Copyright © 2009 Christopher Allen